Archív

Archív pro

Zend Studio 6.1.1. zkušenosti z prvních 14 dní

30.03.2009 View Comments

V poslední době jsme přešli ve firmě z Eclipse PDT 2.0 na Zend Studio 6.1.1, přechod byl víceméně bezbolestný, ale pár drobností mě trápilo, vše jsem ale pořešil zatím k mojí spokojenosti.

xDebug

Narozdíl od PDT mi vadilo, že není volitelný debugger a funguje jen Zend Debugger. Ale to jde naštěstí lehce napravit.

  1. Zavřete Zend Studio pokud zrovna běží jinak jděte na další bod. Cesty jsou jak je mám na linuxu, na windows to bude obdobné.
  2. Otevřete konzoli
  3. Přejděte na adresář kde je nainstalováno Zend studio. (u mě například /opt/ZendStudio):
    cd /opt/ZendStudio
  4. Přejděte do adresáře plugins (/opt/ZendStudio/plugins):
    cd plugins
  5. Vytvořte nový adresář pojmenovaný disabled (i.e. /opt/ZendStudio/plugins/disabled):
    mkdir disabled
  6. Přesuňte soubory začínající com.zend.php.debug do vytvořeného adresáře.
    mv com.zend.php.debug* disabled
  7. Vraťte se do adresáře Zend Studia (/opt/ZendStudio) a nastartujete Zend Studio s parametrem clean:
    ./ZendStudio -clean
  8. Xdebug je k dispozici v nastaveních pro PHP Debugging.

Projekt přímo ze SVN

Pokud do SVN neukládáte údaje o projektech, tak je potřeba při checkoutu projektu udělat to pomocí wizarda jinak nebude fungovat doplňování php a další funkce pro PHP Projekty nebo Zend Framework projekty.

Pokud to neuděláte takto jde to udělat ručně modifikací souboru .project.

V Navigator otevřít .project a provést úpravy

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>start_page</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

nahradit (z .project PHP projektu)

<buildSpec>
<buildCommand>
<name>org.eclipse.php.core.PhpIncrementalProjectBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.php.core.ValidationManagerWrapper</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>

Pokud máte více repository locations v Eclipse a používáte Subversive (SVN client pro Eclipse používaný také v Zend Studiu) lze celé nastavení vyexportovat z PDT a naimportovat v Zend Studiu.

  1. NEW → Repository location nebo Open perspective SVN Repository Exploring
  2. Pravým tlačítkem na Repository location and Find/Check Out As
  3. Check out as a project configured using the New Project Wizard
  4. Zvolte podle potřeby PHP Project, Zend Framework
  5. Nastavte si jméno a dokončete tlačítkem finish

External Tools

Pro externí program který mi dělá balíky jsem potřeboval přidat program a na rozdíl od Eclipsy to nešlo, je potřeba upravit nastavení dle obrázku a potom se to chová již stejně jako Eclipse PDT.

Run → External Tools → External Tools configurations

external_tools_filter

Categories: ide, php Tags:

pDepend a php frameworky dodatek

20.03.2009 View Comments

V příspěvku pDepend a php frameworky jsem uvedl porovnání několika frameworků pomocí PHP Depend. Do příspěvku už se nevešli Akelos, YII a Kohana. Kohana je fork CodeIgniteru, tak vás nepřekvapí podobné výsledky, jen posunuté trochu více do abtraktního pole v grafu. YII neprošel kvůli chybě:

Invalid token "{" on line 158 in file: /phpdepend/yii-read-only/framework/cli/views/shell/crud/controller.php

Ještě jsem zkoušel eZ components a to havarovalo na

Fatal error: Maximum function nesting level of '100' reached, aborting! in /usr/share/php/PHP/Depend/Metrics/NPathComplexity/Analyzer.php on line 330

Protože příspěvek měl docela dobrou čtenost chci se zeptat zda někomu tam nechyběl nějaký zajímavý php framework, který třeba neznám, rád ho zahrnu.

Pokud se zajímáte o problematiku QA tak bych vám chtěl doporučit článek a slidy Sebastian Bergmanna (Quality Assurance Tools for PHP, Quality Assurance in PHP Projects). Bergmann sice prosazuje CC a PhpUc a já jsem pro nasazení Hudson v Continues Integration, ale slidy jsou velmi zajímavé a určitě se k této problematice vrátím v nějakém dalším článku.

Kohana

http://kohanaphp.com/
kohana-jdepend
kohana-pyramid

Akelos

akelos-jdepend
akelos-pyramid

Categories: php, qa Tags:

pDepend a php frameworky

16.03.2009 View Comments

pDepend

http://www.pdepend.org

Php Depend (pDepend) patří do skupiny nástrojů QA (Quality assurance) pro kód a je odvozen od JDepend, kde je také popis části metrik, které pDepend používá. V nedávné době byla spuštěny nové stránky projektu a verzí 0.9.4 se mi zdá již velmi použitelný. Abych vyzkoušel jak to funguje vzal jsem si z SVN repozitářů několik frameworků a pustil nad nimi pDepend.

CodeIgniter

http://codeigniter.com

Nette

http://nettephp.com/

Zend Framework

http://framework.zend.com/

Symfony 1.2

http://www.symfony-project.org/

Solar

http://solarphp.com/


CakePHP

http://cakephp.org/

cake-jdepend
cake-pyramid

Prado

http://www.pradosoft.com/

prado3-jdepend
prado3-pyramid

Závěr

Nejsem expert na QA abych mohl fundovaně hovořit na základě těchto dat o kvalitě frameworků, jen mě zaujalo několik věcí. Z grafů je vidět nakolik je mezi frameworky používaná abtrakce a nakolik jsou si v konstrukci podobné Symfony a Zend a jak se liší Nette a CodeIgniter.
Z pyramid mě zaujali čísla kolem LOC (počet řádků kódu) v porodnání s počtem metod (NOM) a tříd (NOC). ANDC (průměrná hodnota odvozených tříd) nám řekne jak to framework s dědičností. AHH (průměrná výška hiarchie) je metrika která udá průměr hloubku v dědičnosti.
Podrobný popis pyramid vám odpoví na otázky co znamená, která značka a hlavně je tam tabulka referenčních hodnot jednotlivých metrik.

Bohužel jakákoliv metrika vám nikdy neřekne nic o tom, jak je který framework dobrý nebo zda vám bude vyhovovat.

Categories: php, qa Tags:

Switch to our mobile site