<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sasquatch&#039;s blog</title>
	<atom:link href="http://bgscripts.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bgscripts.com</link>
	<description>Blog for PHP 5, Zend Framework, Linux and Hip Hop music</description>
	<lastBuildDate>Tue, 14 Feb 2012 22:56:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Проблеми с профилирането на PHP приложения</title>
		<link>http://bgscripts.com/2012/02/14/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d0%b8-%d1%81-%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/</link>
		<comments>http://bgscripts.com/2012/02/14/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d0%b8-%d1%81-%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 22:53:00 +0000</pubDate>
		<dc:creator>sasquatch</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP 5]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://bgscripts.com/?p=85</guid>
		<description><![CDATA[Днес трябваше да оптимизирам един мой проект на Zend Framework. На домашния си компютър не бях работил с профайлъра на Zend Studio, така че се заех да го конфигурирам. Мина известно време в неуспешни тестове, като ми се връщаше една и съща грешка - "A timeout occurred when the debug server attempted to connect to [...]]]></description>
			<content:encoded><![CDATA[<p>Днес трябваше да оптимизирам един мой проект на Zend Framework. На домашния си компютър не бях работил с профайлъра на Zend Studio, така че се заех да го конфигурирам.</p>
<p>Мина известно време в неуспешни тестове, като ми се връщаше една и съща грешка - "<strong>A timeout occurred when the debug server attempted to connect to the following client hosts/IPs: -127.0.0.1</strong>"</p>
<p>Взех да се ровя в интернет, но в крайна сметка реших да подходя по-класически и да оставя Zend Studio - активирах си <strong>xdebug</strong> и му включих профилинга. Но когато отворих генерирания профил с KCacheGrind бях изненадан, че execution flow-а на приложението ми мистериозно прекъсва до една доста начална позиция.</p>
<p>Изниза се около час претърсване в гугъл за този проблем, но след очаквания неуспех се заех да прегледам отблизо PHP конфигурацията си.</p>
<p>&nbsp;</p>
<p>В крайна сметка се оказа, че преди време съм си инсталирал <a href="http://xcache.lighttpd.net/"><strong>XCache</strong></a> (доста добро opcode cache разширение за PHP), което влиза в конфликт с дебъгерите (което е доста логично). Общо взето който и да е opcode cacher би попречил на дебъгването. Веднага следкато изключих XCache всичко беше наред.</p>
]]></content:encoded>
			<wfw:commentRss>http://bgscripts.com/2012/02/14/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d0%b8-%d1%81-%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработване на проекти със Zend Framework: Урок #2 – Инсталиране и конфигуриране на Zend Framework</title>
		<link>http://bgscripts.com/2011/01/23/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-2/</link>
		<comments>http://bgscripts.com/2011/01/23/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-2/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 20:15:59 +0000</pubDate>
		<dc:creator>sasquatch</dc:creator>
				<category><![CDATA[PHP 5]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://bgscripts.com/?p=64</guid>
		<description><![CDATA[В този урок ще разгледаме конфигурирането на Zend Framework върху Linux и Windows.

Конфигурацията на Zend Framework в общи линии е добавяне на пътят до библиотеката на Zend Framework в PHP директивата include_path и конфигуриране на ZF Command Line Tool.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Ще разгледаме конфигурирането на Zend Framework върху Linux и Windows.</p>
<p style="text-align: left;"><em>Конфигурацията на Zend Framework в общи линии е добавяне на пътят до библиотеката на Zend Framework в PHP директивата <strong>include_path</strong> и конфигуриране на ZF Command Line Tool.</em></p>
<h3 style="text-align: left;">1. Линукс</h3>
<p style="text-align: left;">Като широко разпространена дистрибуция, примерите са направени на Ubuntu (10.10), но би трябвало да работят подобно и на всички други дистрибуции.</p>
<p style="text-align: left;">Първата стъпка е да се сдобиете със Zend Framework. Това може да стане по няколко начина - да го инсталирате като пакет от терминала, да го изтеглите от официалния сайт на ZF - <a title="http://framework.zend.com/download/latest" href="http://framework.zend.com/download/latest">http://framework.zend.com/download/latest</a>* или да използвате SVN хранилището на фреймуърка.</p>
<p style="text-align: left;"><em>* На страницата Downloads -&gt; Latest Release ще се покажат няколко възможности за сваляне на фреймуърка. Първата (</em>Zend Framework + Zend Server Community Edition(CE)<em>) е само ако искате да свалите ZF в комплект със Zend Server. Zend Server e пакет съдържащ конфигурирани Apache, PHP, MySQL, Zend Framework, phpMyAdmin, etc. Zend Server е най-удобен ако сте Windows потребител.</em></p>
<p><strong>Инсталиране като пакет</strong></p>
<p><span style="color: #ff9900;"><em>Този метод на инсталиране е за предпочитане!</em></span></p>
<p style="text-align: left;">Най-лесният начин да се сдобиете със Zend Framework под Ubuntu е да го инсталирате като пакет.<strong></strong></p>
<p style="text-align: left;">Отворете терминал и въведете <em></em></p>
<blockquote>
<p style="text-align: left;"><em>$ sudo apt-get install zend-framework</em></p>
</blockquote>
<p style="text-align: left;">Тази команда ще инсталира за Вас последната стабилна версия на ZF. Инсталацията ще свали файловете в <strong>/usr/share/php/libzend-framework-php</strong></p>
<p style="text-align: left;"><strong>SVN Export</strong></p>
<p style="text-align: left;">SVN (Subversion) е широко използвана система за контрол на файловите версии(повече за SVN може да прочетете <a href="http://en.wikipedia.org/wiki/Apache_Subversion">тук</a>).</p>
<p style="text-align: left;"><em>В бъдеще ще напиша статия специялно за SVN и Version Control системите. Ако не сте наясно, по-добре изтеглете Zend Framework по стандартния начин.</em></p>
<p style="text-align: left;">За да инсталирате SVN на Ubuntu въведете следното в терминала:</p>
<blockquote style="text-align: left;"><p><em>$ sudo apt-get install subversion</em></p></blockquote>
<p style="text-align: left;">След като SVN се инсталира, създайте папка, в която искате да изтеглите ZF:</p>
<blockquote style="text-align: left;"><p><em>$ mkdir zend-framework</em></p>
<p><em>$ cd zend-framework</em></p></blockquote>
<p style="text-align: left;"><em>Не забравяйте втората команда! Ако не смените директорията, ZF ще се "стовари" в home/потребител папката ви, а това е нещо, което не бихме искали да се случва.<br />
</em></p>
<p style="text-align: left;">За да изтеглите файловете, трябва само да напишете следната команда:</p>
<blockquote style="text-align: left;"><p><em>$ svn export http://framework.zend.com/svn/framework/standard/trunk/ ./<br />
</em></p></blockquote>
<h4 style="text-align: left;">Изтегляне от сайта</h4>
<p style="text-align: left;"><a title="http://framework.zend.com/download/latest" href="http://framework.zend.com/download/latest">http://framework.zend.com/download/latest</a></p>
<p style="text-align: left;">Изтеглете Zend Framework Minimal Package и разархивирайте в папка по избор. За да изтеглите и разархивирате от терминал, може да използвате следните команди:</p>
<blockquote style="text-align: left;">
<p style="text-align: left;"><em>$ wget http://framework.zend.com/releases/ZendFramework-1.11.2/ZendFramework-1.11.2-minimal.tar.gz ./zend-framework.tar.gz</em></p>
<p><em>$ tar xvzf zend-framework.tar.gz</em></p></blockquote>
<p style="text-align: left;">Zend Framework е изтеглен в /home/потребител/zend-framework</p>
<h4 style="text-align: left;">Конфигурация</h4>
<p style="text-align: left;">Следкато вече имаме Zend Framework, трябва да направим малко настройки.</p>
<p style="text-align: left;">Отворете php.ini и намерете следните редове:</p>
<blockquote style="text-align: left;"><p><em>;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; Paths and Directories ;<br />
;;;;;;;;;;;;;;;;;;;;;;;;;</em></p>
<p><em>; UNIX: "/path1:/path2"<br />
include_path = ".:/usr/share/php"</em></p></blockquote>
<p style="text-align: left;">Тук трябва да направите промяна на <strong>include_path</strong>, трябва да добавите пътят до папка наречена <strong>library</strong>, която сте свалили (/home/потребител/zend-framework/<strong>library</strong>). При добавянето на директория в include_path <strong>не бива да забравяте</strong> да добавите ":" преди новата директория. Ето пример за това как може да изглежда един include_path:</p>
<blockquote style="text-align: left;">
<p style="text-align: left;"><em>include_path = ".:/usr/share/php:/home/потребител/zend-framework/library"</em></p>
</blockquote>
<p style="text-align: left;">Запазете файла и рестартирайте уеб сървъра си. Ако използвате Apache - <em>sudo service apache2 restart</em> или<em> sudo service lighttpd restart за Lighttpd</em></p>
<p style="text-align: left;">Остава само да добавим и един  скрипт в /usr/bin по-известен като <strong>CLI Tool</strong>. В следващата глава ще обясня за какво служи този скрипт.</p>
<p style="text-align: left;">В директорията /home/потребител/zend-framework трябва да съществува папка на име bin. Въведете тази команда от терминала:</p>
<blockquote>
<p style="text-align: left;"><em>$ sudo</em> ln -s /home/потребител/zend-framework/bin/zf.sh /usr/bin/zf</p>
</blockquote>
<h3>2. Windows</h3>
<p>Най-лесният начин да инсталирате Zend Framework под Windows е със <a href="http://www.zend.com/en/products/server-ce/" target="_blank">Zend Server CE</a>.</p>
<p>Zend Server е пакет съдържащ в себе си PHP, Apache, MySQL(по избор), Zend Framework(по избор), phpMyAdmin(по избор).</p>
<p>Няма нужда от никакви настройки.</p>
<h4>Ръчна инсталация</h4>
<p>Ако все пак вече имате инсталиран сървър, и той не е Zend Server, ето как да инсталирате ZF ръчно:</p>
<ol>
<li>Изтеглете Zend Framework от <a href="http://framework.zend.com/download/latest" target="_blank">тук</a>(изтеглете предпоследния пакет - Zend Framework 1.**.** Minimal)</li>
<li>Разархивирайте в папка по избор</li>
<li>Отворете php.ini и намерете следните редове:<br />
<em>; Windows: "\path1;\path2"<br />
;include_path = ".;c:\php\includes"</em></li>
<li>Добавете пътят до папката library в <em>include_path (не забравяйте да махнете <strong>; </strong>пред <em>;include_path). Трябва да се получи нещо такова: </em></em><em>include_path = ".;c:\php\includes;c:\път\до\zend\framework\library"</em></li>
<li>Рестартирайте Apache</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://bgscripts.com/2011/01/23/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Разработване на проекти със Zend Framework: Урок #1 – Увод и мотивация</title>
		<link>http://bgscripts.com/2010/12/21/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-1-%d1%83/</link>
		<comments>http://bgscripts.com/2010/12/21/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-1-%d1%83/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 11:07:35 +0000</pubDate>
		<dc:creator>sasquatch</dc:creator>
				<category><![CDATA[PHP 5]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://bgscripts.com/?p=10</guid>
		<description><![CDATA[Това е първият уводен урок от цяла серия по Zend Framework. Искам да помогна на мотивираните разработчици, които имат желанието да се впуснат в дълбините на професионалното програмиране с PHP 5.]]></description>
			<content:encoded><![CDATA[<h4>Какво е Zend Framework?</h4>
<p>Zend Framework е <a href="http://en.wikipedia.org/wiki/Open_Source" target="_blank">Open Source</a>, <a href="http://en.wikipedia.org/wiki/MVC" target="_blank">MVC</a> базиран и обектно-ориентиран фреймуърк за PHP 5 приложения създаден от <a href="http://en.wikipedia.org/wiki/Zend_Technologies">Zend Technologies</a> през 2005 година. Zend Framework e <a href="http://en.wikipedia.org/wiki/Loose_coupling">use-at-will</a> система, което означава, че всеки един компонент използва почти или никаква свързаност с другите компоненти. Това помага на разработчици, които не искат да използват целия феймуърк, а само отделни компоненти.</p>
<h4>Дали Zend Framework е за мен?</h4>
<p>Ако сте PHP разработчик и имате нужда от добра рамка, в която да творите, Zend Framework e точно като за Вас.</p>
<p>Ако сте начинаещ PHP разработчик, който иска да развие мисълта си обектно, Zend Framework е задължителен за Вас.</p>
<p>Ако сте Java разработчик, Zend Framework ще е лесен и приятен за Вас.</p>
<h4>По какъв начин може да ми помогне Zend Framework?</h4>
<p>Zend Framework е <a href="http://en.wikipedia.org/wiki/Web_application_framework">web application framework</a>. Най-честото му приложение е за създаване на комплексни уеб системи, но все пак библиотеката му може да се използва разделено, така че може да се чувствате свободен да използвате който искате компонент в каквато искате система.</p>
<h4>Критика към теб, разработчико!</h4>
<p>Ако Вие сте PHP разработчик, който си мисли, че разликата между PHP 4 и 5 е само в цифричката и  "някаква си там оптимизация", то Вие сте нищо повече от един <strong>ЛЕЙМЪР</strong>!</p>
<p>PHP е най-широко използваната платформа за уеб системи в Интернет. Това обаче е нож с две остриета. Ето плюсовете и минусите на PHP:</p>
<h4>Плюсове</h4>
<ul>
<li>Лесен за научаване</li>
<li>Безплатен</li>
<li>Бърз</li>
<li><strong>Безброй много учебни статии и уроци в Интернет</strong></li>
</ul>
<p><strong>Минуси</strong></p>
<ul>
<li>PHP не е строго типизиран език. За програмисти на C++/Java в началото PHP ще им бъде неудобен.</li>
<li>Има много начини за реализация на един проблем. Това създава лоши навици, особенно когато говорим за PHP 4 и PHP 5.</li>
<li><strong>Безброй много учебни статии и уроци в Интернет</strong> - това както плюс, така е и голям минус. Повечето уроци, които ще намерите в Интерет са за PHP 4, а писането в стила на PHP 4 е паразитизъм(защо? Виж по-долу).</li>
</ul>
<p><strong><em>PHP 4 vs PHP 5</em></strong></p>
<p>Когато PHP 4 е бил пуснат, създателите му не са имали предвид колко комплексни системи могат да бъдат разработени на него. В PHP 4 липсват цял тон възможности, които са пречка в проектирането на сложни системи. Но няма страшно! PHP 5 e тук от 2004-та година, като в него се взимат под внимание най-големите слабости в писането на код от високо ниво. Именно всеки един компонент на Zend Framework е написан на PHP 5, спазвайки стандарти за писане на код, взаимствани от Java.</p>
<p><strong><em>"Проектът ми работи на PHP 4 и на PHP 5!"</em></strong></p>
<p>Всъщност проектите, които работят на PHP 4 и 5 са чист PHP 4 код, с изчистени грешки за предпроцесора PHP 5. Пета версия може спокойно да процедира PHP 4 код(представете си колко хора щяха да се откажат от PHP ако скриптовете им не работят правилно с пета версия), и ако проекта Ви работи и на двете версии, значи е на чист PHP 4 (искам да Ви кажа, че няма за кякво да се радвате). Проекти, за които пише, че робатят както на PHP 4, така и на 5, не се възползват от силата и възможностите на пета версия на PHP, която смело мога да кажа, покрива повечето от изискванията за един съвременен обектно-ориентиран език за програмиране.</p>
<h4>Предимства и недостатъци на Zend Framework</h4>
<p><strong>Предимства</strong></p>
<ul>
<li>Богата библиотека</li>
<li>Изчерпателно документиран и разбираем сорс код, спазващ скриктен стандарт за качество</li>
<li>Гъвкава софтуерна архитектура. Не ограничава разработчиците</li>
<li>Последни възможности на PHP 5. Фреймуъркът с най-изчерпателно използване на PHP 5</li>
<li>Подробна документация на няколко езика + удобен и разбираем 30 минутен Quick Start урок.</li>
</ul>
<p><strong>Недостатъци</strong></p>
<ul>
<li>Zend Framework е "дебел". Ако искате системата Ви да върви бързо, трябва да отделите специално внимание на бързодействието и оптимизацията на кода си.</li>
<li>Zend Framework е труден. Ако досега не сте се сблъсквали с фреймуъркове или още по-лошо, не сте чели чужд сорс код, може да ви бъде много, много трудно...</li>
<li>Тъй като именуването на класовете в Zend Framework спазва PEAR стандарта, те могат да бъдат доста дълги, което може да ви нервира от време на време(версия 5.3 на PHP се "запозна" с пространствата от имена, което ще реши проблема с дългите имена. Очакваме използването на namespaces в Zend Framework 2.0, който ще дойде съвсем скоро!)</li>
<li>Липсата на уроци в официалната документация на сайта</li>
</ul>
<h4>Zend Framework алтернативи</h4>
<p><a href="http://www.symfony-project.org/"><em>Simfony</em></a> - ще цитирам един мой познат: "Simfony е прекалено добър!"</p>
<p><em><a href="http://solarphp.com/">SolarPHP</a></em> - има доста прилики със Zend Framework</p>
<p><em><a href="http://cakephp.org/">CakePHP</a></em> - <em>Не ми харесва</em> (pure hate)</p>
<p><em><a href="http://codeigniter.com/">CodeIgniter</a></em> - <strong>не го препоръчвам на никой. Пълна бъркотия!</strong></p>
<p>Има още много, като Yii и eZ Components, но тях не съм ползвал и не мога да дам компетентно мнение.</p>
]]></content:encoded>
			<wfw:commentRss>http://bgscripts.com/2010/12/21/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8-%d1%81%d1%8a%d1%81-zend-framework-%d1%83%d1%80%d0%be%d0%ba-1-%d1%83/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

