Така както писах в предишния пост проблема с дефинирането на променливата 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 да иска часове настроики 🙂 Отделно е скоростен или поне така чета навсякъде  Засега ще поработя с него и ще видим дали ще се хванем ръка за ръка или ще стане една част от миналото 🙂