Стандарти за писане на код – PHP

Това е може би една от причините, поради която повечето хора не обичат PHP. Няма строго определени стандарти за писане на код, което създава сериозни проблеми и доста често един програмист не може да познае дори собствения си код след известен период от време. Това е лошо. Езици като Java са на съвсем другата страна на барикадата – там всичко е строго определено и трябва да се прави по начина, по който трябва да се прави. Аз лично съм абсолютно за създаването на някакви общоприети стандарти.

Прочети цялата публикация



Как си оптимизирах процеса за създаване на малки/средни панели за администрация

Темата, която смятам да дискутирам в този пост е много наболяла, поне за мен и поне в последно време. Желанието да се поемат всички възможни проекти без да се налага да наемаме допълнителен персонал или да караме клиентите да чакат с месеци за един елементарен уеб сайт ме накара да започна да търся различни решения, които да ми оптимизират процеса на работа.

Прочети цялата публикация



Как да подкараме CodeIgniter на Host.BG

Добавяте следното в .htaccess-a

AddType application/x-httpd-php5 .php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

И сте готови :)

Важното е, че на host.bg по подразбиране работи php4, а на вас ви трябва php5 (разбира се ако пишете php5..). Положенето ще изглежда по подобен начин и за Kohana, където вече php5 ви е задължително.

Прочети цялата публикация



Не лошата алтернатива Kohana

Наскоро се запознах отблизо с Kohana, като реших да реализирам един проект на нея. Впечатленията ми са повече от добри. Фреймуоркът има като основа CodeIgniter, но с някой основни разлики.

Първата и най-съществената от които е, че Kohana е Strict PHP 5, което аджеба за мен поне е нещо нормално. PHP 4 одавна е в миналото. Но пък опцията на CodeIgniter да „върви“ безпроблемно и на сървър, който има PHP 4 не е за подценяване.

Още разлики можете да прочетете тук. Не мисля да ги превеждам или преразказвам, защото са достатъчно добре описани.

Това, което не е споменато е, че Kohana върви с няколко модула, един от които е Auth. Имах известни проблеми с него, но в крайна сметка всичко се оказа повече от розово и го използвам напълно безпроблемно.

Друго нещо, което ми направи впечатление е, че Kohana е малко по-бавна от CI, като се и разгледах в google, видях, че са направени доста тестове, които потвърждават мнението ми. Но очаквам това да се промени в бъдеще.

Kohana има много добра поддръжка на мултиезични сайтове. Наистина! Тук поне за мен бие отвсякъде CodeIgniter.

Най-хубавото от всичко е, че обществото, което развива фреймуорка изобщо не спи, ами работи по нови версии. До колкото прочетох до края на следващия месец ще излезе нова версия с доста подобрения. За съжаление обаче CI се движе много много бавно в разработката, като определено има какво да се иска от него.  Добро утро! Събудете се драги мои от EllisLab!

В заключение смятам да кажа, че ще използвам Kohana със сигурност! Предпочитам я за проекти със средна сложност, като CI оставям за малките. Съветвам ви да я поразгледате и пробвате, защото наистина си заслужава. Като поне за мен е добра алтернатива на Zend в „средния клас“, тъй като Zend ми идва в повече за средните проекти, като разбира се си остава ненадминат за по-мащабните проекти.

Прочети цялата публикация



И един ден Zend и CodeIgniter заживяха заедно…

Неволята, а? :D Да де… същото. Малко се чудих това дали да го блогвам или да не го блогвам, но реших да го блогна! За какво става на въпрос. Ще ви разкажа една много поучителна история за фреймуорци (тая дума няма множествено число), феи, дракони и още нещо.

Стига толкова лигавщини. Това, което направих за един от проектите, които наскоро поехме е да накарам CodeIgniter и Zend да поживеят заедно на един сървър. Не беше трудно в интерес на истината. Единия отиде в една папка, а другия започна да не му обръща внимание. Да де то хубаво ама сега ще питате, то и аз бих питал, защо са ти и двете? Така… тук идва интересната част с обяснението, което и на мен ми е интересно даже. Клиентите ни по никакъв начин не разрешават сайта да се пренаписва, било то и безплатно. Защо? Ами не знам… убеден съм че и те не знаят. Та така стигнах до решението, да използвам някой от възможностите на според мен най-добрия PHP фреймуорк – CodeIgniter съчетани със сложността и неорганизираността на Zend. Не че Zend е лош фреймуорк, просто в случая е използван по неправилен начин. Кода е като на Женския пазар, като има намаление. Лудницата е пълна.

Та… за да заживеят заедно идеята беше да използвам Zend като основа, а CodeIgniter за всичко ново, което ще се допълва в проекта, като идеята ми е един ден всичко да мине на CodeIgniter и да отстраня Zend-а. И това ще стане бавно, но сигурно. Знам, че това не е най-доброто решение, поне на пръв поглед. Ама ако искайте вярвайте бързодействието на сайта скочи драстично, след като CodeIgniter пое съвсем малка част от задачите изпълнявани от по-големия му брат. Следващата стъпка е да изолирам Zend-а да работи само като административен панел, а CI да поеме целия frontend. Хубавото в случая е, че базата данни е на много добро ниво и не се налагат да се правят някакви основни промени.

Предполагам не ви е минавало през акъла да правите подобни глупости и нормално и на мен не ми беше минавало. Но пък в един период от време, когато ти се налага да сменяш нещо наглед изключително просто и отделяш по час, два, че и повече понякога просто решаваш да намериш друго решение. В един момент го бях намерил за повечето от нещата, които се изискваха, но като цяло мудното държание на Zend, огромното натоварване на сървара и сложността за поддръжка не бяха изгодни нито за мен нито за клиентите ни. Нямаше печеливши. Ние не можем да работим по други проекти, защото пряко се занимаваме с елементарни действия, а клиентите ни чакат доста повече време от необходимото за да получат желаните промени. Някой ден ще ви публикувам един snippet да видите за какво иде реч, но не го правя само и единствено от уважение към фирмата изпълнител и поради факата, че познавам няколко човека от там. Иначе момчетата сигурно си поддържат някак си кода, честно казано сигурно събират цял екип за да редактират 2-3 реда текст. Но това изобщо не е моя работа, най-вероятно е фирмена политика, нали знаете как при „големите”?

Важното е, че ако решите да сплитате PHP frameworks искам да ви кажа, че изобщо не е трудно. Едва ли може да срещнете някакви кой знае колко големи трудности. И в случая е важен замисъла, който при мен е повече от ясен, ако нямате замисъл, то тогава не го правете. И пак казвам, не това е най-доброто решение и не го препоръчвам на никой да го прави, но е единственото на този етап :)

Иначе напоследък се губя малко от бойното поле поради ред причини. Най-вече свързани с университетски препятствия. Уча сериозно за предстоящи изпити. Даже и в офиса не ходя. Но за сметка на това успешно минах първия изпит с отличен. Гледам повечето задачи да ги отлагам, но не може всичко, защото в един момент ще се окаже, че трябва деня да е 36 часа за да успявам да си върша работата. Пловдив също да ме чака тази седмица, връщам се малко по родния край за ден два може би, колкото да се разведря и разсея малко. Пък и да видиме какво прави града с най-хубавите жени и бира, не че пия алкохол де, но не може да не се отбележи :)

Забравих да спомена, че си имам facebook юзърнейм и ще се радвам ако искате да станем приятелчета :)http://www.facebook.com/veselin

P.S Последното може и да съм го споменал вече :D

Прочети цялата публикация