Така както писах в предишния пост проблема с дефинирането на променливата base_url е доста неприятен. В конкретност тази променлива се грижи за създаването на пътя към линкове, екшъните в формите, редиректите и прочие и ако не е сетната CI нереаботи корекно 🙂 Работи ама прави едни луди неща с url-тата 🙂 Решението както винаги е елементарно ( за мен се появи малко преди да реша да си го напиша сам) 😀


$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

С това парче код се замества base_url в конфигурационния фаил. Работи както се вижда както за http така и за https. Взима си само папката в която разположена платформата така, че не е необходима никаква намеса от наша страна.

Живота ми като програмист кардинално се промени – посегнах към ония плод които винаги несъм харесвал – готов framework за кодиране на проекти, причините са си чисто мои защо не ги харесва. Но вече останах без избор и се обърнах към приятели с опит в областа и те ме насочиха към към CodeIgniter общо взето прегледах за какво иде рече – допадна ми. Отделно че прочетох доста добри мнения, така че нямаше смисъл да избягвам неизбежното. Днес започнах да пиша с платформата и установих 2 много неприятни неща

  1. Репортинга на грешките е насочен само към фаилови логове и платформата не плюе грешки дирекно върху страничката – само една бяла страница се появява и се чудиш какво се случава. Безумно неудобно Дори след ръчна настроика в php.ini нещата останаха в полза на CI. Решението на проблема е с добавянето на един външен хелпър Err Helper – човека е обяснил как се плава туи чудо. След като го сложих всичко си доиде на мястото.
  2. В конфигурационния фаил на платформата има един променлива base_url в която е описано основното URL за да може да довършва платформата линкове редиректи и всякакви други URL-та – като цяло идеята е добра ама ако саита е с повече от 1 домеин какво правим 😀 Има доста решения на проблема. Аз вероятно с една серия от if-oве ще проверявам от кои домеин ми идва заявката преди да сетна променливата 🙂 ,защото не иска да приема стоиност от $_SERVER[PHP_SELF] отново безумно решение

Като изключа тия ми дв забележки CI ми допада лесно се пуска сървърче дори и неопитен пишлигар в 9-ти клас ще го направи а не като Zend Framework да иска часове настроики 🙂 Отделно е скоростен или поне така чета навсякъде  Засега ще поработя с него и ще видим дали ще се хванем ръка за ръка или ще стане една част от миналото 🙂

Днес phpmyadmin-a ми изтрещя без никаква видима причина с следната груба грешка

Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.

Общо взето проблема е елементарен променливата session.save path в php.ini фаила беше без стоиност. Мистиката се развърза като се сетих че направих упгреид на на php версията ми и тогава вероятно по невнимание съм замал старите настроики, а днес рестартирах сървъра, че беше почнал да пълни swap-a заради едно зомби 🙂

Преид около седмица имах да драсна един проект на php. Общо взето немога да споделям детайли ама беше сравнително проста хава. След като го приключих останах ужасен от резултата – ужасно напсиан код, дърварщина, никакъв финес, единствено позитивно нещо беше, че е надежден. Ама аз необичам така, обичам като пиша да е по хубавия начин, а не с секирата насякан и набит. Добре, че не е публично достъпен, че иначе щях да си умра от срам. Такава разка загубана на умения я отдавам единствено и само на писането на bash-ове през последната половин година и тотална липса на по обектни похвати в програмирането. От вчера започнах фундаментално опресняване на познанията, че скоро ще ме очакват нови задачки закачки а няма се излгам като кифладжия с грозен код. След няколкочасове четене си припомних обекния модел в php, бях збаравил че колкото и да е смотан като езит php (което мнение аз не споделям) има изключително приличен обектен модел.

Интересно заглавие а 😉 Преди няколко години когато за първи път започнах да пиша на php ми хареса освен всичко друго факт, че е open source 🙂 Винаги съм гледал на php скритовете като на такива въпреки, че има методика за направа му на не такъв. Най- популярния и вероятно единствен, никога не съм се интересувал, е чрез иползването на zend guard. За какво иде реч, с това чудо си криптираш плоския фаил и вече става нечетим за текстови редактор освен за уеб сървъра с инсталирана съответна приставака за обработката му. Поради естеството на деиноста неизгарям от желание да разбера какъв криптиращ алгоритъм ползва за това противо естствено нещо. Та мисълта ми беше следната с тоя похват кода е защитен от лоши погледи и помисли 😉 😈 🙄 Днес за първи път се сблъсках с такова нещо, намерих си една система за управление на нещо и авторите се бяха постарали да я защитят. За да се ползва само по начина по които са я дали и на OS-та предоставена от тях, нищо не чак толкова лошо, просто малко дразнещо и най- малко ако искаш да я прехвърлиш да речем на друга машината требе да се съобразяваш с конфига дето са го сложили аторите за връзка с база данни и разни пътища по диска, а не свободно просто да промениш 2-3 реда код. В тая прекрасна идилия някак си за момент ми беше дошла идея да си я пренапиша сам но в последствие се отказах от идеята и си викам я да видим това чудо дето са го направили Zend (разработчика на php) дали наистина няма чупене както съм чувал. След известно ровене в нета и жоста демотивиращи мнения как това бил безумно нечуплив алгоритъм и как освен, че било нелегално било и невъзможно, намерих свещенния граал – dezender 😉 Общо взето всичко е супер елементарно а момчеатат от Nulled.WS са превърнали тая операция в детска игра.

Hey guys one of my first releases,
this is an dezender tool i found somewhere on some forums..
Worked a charm only problem was it was per file convert..
For your ease i wrote a bat file that saves you a lot of work 🙂

Use as following:
#1
Put dezender in
C:\dezender
Make sure this README will be in C:\dezender!!! ( Else the dezender root is someplace else and the bat wont work + php config )

#2
Put the program that needs dezending in _decode ( the whole program is fine ;), it will only parse php files but it will copy all other files to the decoded folder =) ).
#3
run decode.bat

Sit back, grab another beer, should be done shortly depending on the size of the program

#4
take a look in C:\dezender\_decoded\dezender\

Enjoy ;),

“ Midget „

Това е от readme фаила в архива. Като цяло хванах целия проект пляснах го в папаката за декодиране и след това всичко беше наред – кода се четеше, небеше счупен и или разпокъсан както чух такива мнения 😉

Dezender-а е свален от торент които мисля освен фаила на сървъра ми да подържам 24/7 – FREEDOM 😆

ps няма да споменавам проекта които е бил изпозлвам за целта защото не етично, ще речете как може да има етика в човек които се гаври с труда на други. Аз немисля че съм направил нищо лошо всичко беше просто защото исках да науча нещо ново да подобря познанията си, нима е лошо, че гледате новини? Представете си ги да ги гледате без звук или без картина 😉