ZendServer CE: Pear konfigurieren & phpUnit installieren – Debug

19. Juli 2011 at 09:10

Nach der Installation von Zend Server CE ist PEAR erst mal nicht einsatzbereit.
Konfigurieren lässt sich PEAR ganz einfach über den Aufruf der Datei …\ZendServer\bin\go-pear.bat (mit Admin-Rechten ausführen).

Startet die PEAR_ENV.reg (liegt ebenfalls unter …\ZendServer\bin\)!

Danach könnt ihr PHPUnit direkt über PEAR nach installieren, einfach im selben Ordner mit den Kommandos:
pear upgrade pear
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com

pear install –alldeps phpunit/PHPUnit

Taucht eine Fehlermeldung ähnlich:

Failed to download pear/HTTP_Request2 within preferred state „stable“, latest re
lease is version 2.0.0RC1, stability „beta“, use „channel://pear.php.net/HTTP_Request2-2.0.0RC1“ to install
install failed

so wechselt den Status mit pear config-set preferred_state beta und start die installation erneut!

Taucht ein Fehler ähnlich dem folgenden auf:

C:\Program Files\Zend\ZendServer\bin>pear install pear/XML_RPC2
SECURITY ERROR: Will not write to C:\Users\User\AppData\Local\Temp\pear\cache\
b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid as it is symlinked to C:\Users\dani
el\AppData\Local\Temp\pear\cache\b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid –
Possible symlink attack
install failed

Löscht einfach den Cache-Ordner! 😉

ZendFramework: Datenbankabfrage / SQL Abfrage mit ZendFramework & Magento

15. Juli 2011 at 14:38

Mit dem folgenden Code-Schnippsel könnt ihr einfach eine sql-abfrage über zend in magento starten.

More information: framework.zend.com/manual/de/zend.db.select.html

$table = array('table_name);
$selectCol = array('table_id' , 'col_two');
$where = 'col_two >= ?';  // ? wird ersetzt mit zweitem wert in der where bedingung
$order = '';
$connection = Mage::getSingleton('core/resource')->getConnection('core_read');
$select = $connection->select()
->from($table, $selectCol)
->where($where, $this->lastExportDate)
->order($order);
echo $select->__toString();  // die komplette sql-abfrage ausgeben lassen
$result = $connection->fetchAll($select);

 

 

Zendframework: The following code throws an exception with the wrong „Validate class not found from basename ‚EmailAddress'“ message

28. März 2011 at 18:48

Ihr erhaltet bei der Verwendung des ZendFrameworks unter PHP die Fehlermeldun „Validate class not found from basename ‚EmailAddress'“? Die Fehlermeldung ist etwas irreführend, eigentlich ist das reale Problem das MX checking unter Windows nicht verfügbar ist, jedenfalls bis 5.3 (ab PHP 5.3 sollte dies möglich sein).

Die dazu gehörige Klasse im ZendFramework:

Zend_Validate::is('email@provider.com', 'EmailAddress', array(Zend_Validate_Hostname::ALLOW_DNS, true));

Lösung: (L)unix basiertes System verwenden oder PHP 5.3 oder höher!

2 Tipps für die Arbeit mit Zend Framework und Ajax – Magento

24. März 2011 at 11:40

isXmlHttpRequest()

/**
* myAction from myController
*/
function myAction()
{
if  ($this->getRequest()->isXmlHttpRequest()) {
// do the handling of your ajax request
}
else {
// if it's not an ajax request then do regular handling here
}
}

JSON action helper

/**
* myAction from myController
*/
function myAction()
{
if ($this->getRequest()->isXmlHttpRequest()) {
// do the handling of your ajax request
$myArrayofData = array('a','b','c');
//encode your data into JSON and send the response
$this->_helper->json($myArrayofData);
//nothing else will get executed after the line above
}
else {
// if it's not an ajax request then do regular handling here
}
}
Weitere Tipps / nützliche Funktionen? Postet diese als Kommentar zum Artikel und ich nehme diese, wenn sinnvoll, mit in den Artikel auf.

Release von Zend Studio 8.0 Beta 2

30. September 2010 at 12:39

Das Release von Zend Studio 8.0 Beta 2 wurde heute veröffentlicht! Das Release der PHP IDE enthält folgende neue Features:

•           Betreiben und debuggen Sie Ihre PHP Applikation in einer virtuellen, produktionsähnlichen Umgebung, direkt von der Zend Studio Oberfläche mit neuer VMware Workstation Integration
•           Entwickeln Sie Ihren JavaScript Code schneller mit Content Assist Unterstützung für jQuery, Dojo, ExtJs, und Prototype
•           Debuggen Sie JavaScript Front-End Code und PHP Back-End Code in einer einzigen gemeinschaftlichen Debugging-Session, durch ein neues Set integrierter Ajax Tools
•           Entwickeln Sie Projekte über einen Remote-Server, transparent mit überabeitetem Remote System Support
•           Durchsuchen und ändern Sie Ihren Source Code schneller und problemloser, dank Verbesserungen der gesamten Oberfläche

Eclipse / ZendStudio: .htaccess Datei anzeigen / show .htaccess file

28. September 2010 at 18:53

Ihr möchtet im PHP Explorer in Eclipse oder ZendStudio auch die htaccess Datei anzeigen lassen?
Klickt auf das Filter-Symbol, wählt Filters und deaktiviert den Filter für .* resources (siehe screenshot)

eclipse zendstudio  menu project

ZendStudio Eclipse Update Site

23. September 2010 at 12:43

Sollte ein Update nicht möglich sein da keine Server bei „Available Software Sites“ angezeigt wird, fügt die folgenden hinzu:

Zend Studio Eclipse Update Site
http://downloads.zend.com/studio/updates

http://downloads.zend.com/studio-eclipse/updates/8_0/

http://downloads.zend.com/pdt

Den Upgrade-Guide mit weiteren Infos ihr hier

Probleme mit mod_rewrite beim Zend Server Community Edition

13. Juni 2010 at 03:03

zend logoNach dem Umstieg von XAMPP auf die Zend Server Community Edition musste ich fest stellen dass keine lokalen .htaccess-Dateien berücksichtigt werden, obwohl das mod_rewrite-Modul ordnungsgemäß geladen wurde.

Ein Blick in die httpd.conf des dazugehörigen Apache Webservers brachte schnell Klarheit. In der Apache-Konfiguration,  der httpd.conf, war die Direktive AllowOverride none für das Root-Verzeichnis (unter Windows standardmäßig: C:\Programme\Zend\Apache2/htdocs) gesetzt. Diese muss auf „all“ gesetzt werden damit .htacces-Dateien berücksichtigt werden, danach funktioniert mod_rewrite wie gewünscht.

Zend Framework 1.10.5

4. Juni 2010 at 17:48

zend framework logo www.fly2mars-media.deNach den am 20.05. und 21.05. durch geführten Bug Hunt Days wurde vor einigen Tagen die Stable Release des Zend Framework 1.10.5 veröffentlicht. Diese Revision des Minor-Releases wird höchst wahrscheinlich einer der letzten sein, bevor das Zend Framework in die Version 2.0 wechselt.

Auf der Website zum Zend Framework wurden ebenfalls wieder einige Updates vorgenommen. So wurde die Sektionen Reference Guide und Quick Start weiter aktualisiert. Der Bereich Learning Zend Framework ist schon bei Version 1.10.0 neu hinzugekommen. Herunterladen könnt ihr die aktuelle Version unter:

Firebug / FirePHP über PHP ansprechen

19. November 2009 at 15:45

firebug

Firebug mit FirePHPCore-Library ansprechen

Mit der folgenden Funktion könnt ihr Firebug mit Hilfe der FirePHPCore ansprechen, dazu ggf. den entsprechenden Pfad zur Library anpassen (bei path to library):

function firebug($array=array(), $error_reporting=true)
{
  if($error_reporting)
error_reporting(E_ALL);
// path to library
require_once PFAD_RELATIV . "/class/Firebug/FirePHP.class.php";
$firephp = FirePHP::getInstance(true);
require_once (PFAD_RELATIV."/class/Firebug/fb.php");
//$firephp->group('Debug Group');
$firephp->dump('dump', $array);
//$firephp->fb($array, 'dump', FirePHP::DUMP);
$firephp->fb($array, 'dump', FirePHP::INFO);
//$firephp->groupEnd();
}

Firebug in ZendFramework ansprechen

Mit der folgenden Funktion könnt ihr Firebug direkt im ZendFramework ansprechen

function firebug($value= '')
{
 $writer = new Zend_Log_Writer_Firebug();
 $logger = new Zend_Log($writer);
 $request = new Zend_Controller_Request_Http();
 $response = new Zend_Controller_Response_Http();
 $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
 $channel->setRequest($request);
 $channel->setResponse($response);
 // Start output buffering
 ob_start();
 // Now you can make calls to the logger
 $logger->log($value, Zend_Log::INFO);
 // Flush log data to browser
 $channel->flush();
 $response->sendHeaders();
}

Debug Log Ausgabe in Firebug

<?php
FB::log('Log message');
FB::info('Info message');
FB::warn('Warn message');
FB::error('Error message');
?>

Log Debug Ausgabe in Firebug aus JavaScript

Stack traces

console.trace();

Object Inspection

console.dir(object);

XML Object inspection

console.dirxml(element);

Current Events on the Page

console.dir(window);

With Objects

console.log("The %d item has a value of: %d", fifth, myvalue);

Firebug with Ajax developement

how-to-integrate-firephp-for-ajax-development

Weiter führende Links

Stack traces
console.trace(); 

Object Inspection
console.dir(object)

XML Object inspection
console.dirxml(element)