Tips für den PHP Anfänger
Mittwoch, April 9th, 2008Hier sind 40 Tips um sauberes PHP zu schreiben. Viele von denen hab ich mir schon seit Jahren beigebracht, manche waren mir neu. Also schaut es an und lernt was
Meine Erfahrungen in der Web Entwicklung
Hier sind 40 Tips um sauberes PHP zu schreiben. Viele von denen hab ich mir schon seit Jahren beigebracht, manche waren mir neu. Also schaut es an und lernt was
Vor kurzem hab ich noch ein Trick in der meiner Programmierer Entwicklung gelernt.
Es geht um volgendes, wie kann man einen Wert zwischen 2 Variablen austauschen ohne eine Temp Variable zu nutzen? Ganz einfach:
$a = 1;
$b = 2;
list($a,$b) = array($b,$a);
Ein sehr gutes Buch ist im Netz als PDF aufgetaucht.
http://www.ebookee.com/Zend-Framework-in-Action_162238.html
Mir ist schon oft ein Problem über den Weg gelaufen, wo ich aus einem array(‘a’,'b’,'c’)
ein String bauen und mit Komma trennen “a,b,c” musste. Dabei habe ich mehrere Techniken genutzt. Es gibt viele Kombinationen um an die Lösung zu kommen, ihr müsst Sie selber mal ausprobieren. Man kann sie in vielen Programmiersprachen nutzen.
Beispiel 1:
1 2 3 4 5 6 7 8 9 | <?php $a = array('a','b','c'); $s = ''; foreach($a as $val) { $s .= $val . ','; } $s = preg_replace('/,+$/','',$s); ?> |
1 2 3 4 5 6 7 8 | <script type="text/javascript"> var a = ['a','b','c'], s = ''; for(var i in a) { s += a[i] + ','; } s = s.replace(/,+$/,''); </script> |
Beispiel 2:
1 2 3 4 5 6 7 8 9 | <?php $a = array('a','b','c'); $s = ''; foreach($a as $val) { $s .= $val . ','; } $s = substr($s, 0,-1); ?> |
1 2 3 4 5 6 7 8 | <script type="text/javascript"> var a = ['a','b','c'], s = ''; for(var i in a) { s += a[i] + ','; } s = s.substr(0,(s.length-1)); </script> |
Beispiel 3:
1 2 3 4 5 6 7 8 9 | <?php $a = array('a','b','c'); $s = array(); foreach($a as $val) { $s[] = $val; } $s = implode(',',$s); ?> |
1 2 3 4 5 6 7 8 | <script type="text/javascript"> var a = ['a','b','c'], s = []; for(var i in a) { s[i] = a[i]; } s = s.join(','); </script> |
Das Dritte Beispiel gefällt mir am meisten, da man nichts mit den Srings macht.
/mudule/controller/action/format/ajax
Das format/ajax war komplett hier Falsch, richtig ist fromat/html zu schreiben, aber die Templates werden mit ajax Prefix bennant.
So jetzt mal zu der ganzen Geschichte. Ich schreib Sie in kleinen Schritten.
Zum Anfang müsst ihr kurz wissen, dass Helper AjaxContext die Zend_Controller_Action_Helper_ContextSwitch um eine kleine Funktion erweitert, welche im header den XmlHttpRequest sucht um sicher zu gehen das es sich um Ajax Aufruf handelt.
1.
Man startet den Front_Controller.
$frontController = Zend_Controller_Front::getInstance()
Erzeugt den AjaxContext Helper und legt ihn in den Broker rein:
$ajaxContext = new Zend_Controller_Action_Helper_AjaxContext(); Zend_Controller_Action_HelperBroker::addHelper($ajaxContext);
Nach diesen Schritten könnt ihr euren Dispatcher starten:
$frontController->dispatch();
2.
Jetzt kommen wir zu dem Controller und der Action:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class IndexController extends Zend_Controller_Action { public $ajaxable = array( 'index' => array('html'), // nur ajax 'go' => array('json','xml') // json mit xml ); public function preDispatch() { $this->_helper->ajaxContext()->initContext(); } public function indexAction() {} public function goAction() {} } |
3.
Als Letztes legen wir die Templates fest. Je nach Format wird auch ensprechen die prefix angehängt index.ajax.phtml oder go.xml.phtml.
views/
scripts/
index.xml.phtml
go.xml.phtml
go.json.phtmlUnd am ende müsst ihr Ajax am besten in jQuery oder Prototype die URL aufrufen:
/controller/index/format/html /controller/go/format/xml /controller/go/format/json
So das war mal eine kurze einführung. Den Rest müsst ihr jetzt mal selbt ausprobieren oder einfach mal bei Google suchen