Autor wpisu: Zyx, dodany: 27.07.2009 14:30, tagi: php
Autor wpisu: eRIZ, dodany: 27.07.2009 01:12, tagi: internet, apache, php, skrypty
mod_rewrite, rewriting, przyjazne URL-e/adresy, maskowanie, przepisywanie, nazw jest sporo. Zresztą, najpopularniejsza pochodzi od swojego protoplasty - czyli mod_rewrite powstałego pod skrzydłami Apache’a jako moduł. Teraz właściwie standard, jeśli chodzi o nowoczesne strony www - nie tylko ze względu na wygląd, ale i (jak ptaszki ćwierkają, choć jest to wątpliwe wobec oficjalnych źródeł) SEO.
Jak zwał, tak zwał, adres http://example.org/kawalek/adresu wygląda dużo estetyczniej i jest łatwiejszy do zapamiętania niż potworki typu http://example.org/?kawalek=adresu&i=jeszcze&inny=fin
Niby nie jest to takie skomplikowane, ale niektóre sytuacje wydają się nie do rozwiązania.
Uwaga, notka tasiemcowata, więc jest spis treści. Polecam się również uzbroić w odpowiednią ilość czasu. ;]
Autor wpisu: eRIZ, dodany: 21.07.2009 00:17, tagi: internet, php, skrypty
W trakcie rozważań z ^kwiateuszem nad jakimiś usprawnieniami dla Forum PHP.pl (IPBoard) przyszedł mi do głowy pomysł, który zauważyłem kiedyś na Polskim Forum Jabbera. Stworzono do niego mod, który umożliwia powiadamianie użytkowników o nowych postach właśnie przez Jabbera.
Pisałem już o module powiadomień opartym o klasę Jabbera dla PHP, ale co w sytuacji, gdy serwer jest bardziej obciążony? Dla małych forów wcześniej omówione rozwiązanie - jak znalazł. Natomiast w przypadku większych aplikacji będzie stanowiło pewien problem - od wydajności po gubienie powiadomień, czy inne nieprzewidziane sytuacje.
Dlatego wykorzystamy w tym celu popularnego klienta IM pod shella, mianowicie ekg2. Umożliwi on również skorzystanie z powiadomień do innych sieci, m.in. Gadu-gadu, czy Tlen.
Autor wpisu: Zyx, dodany: 20.07.2009 12:25, tagi: php
Autor wpisu: Łukasz Rodziewicz, dodany: 18.07.2009 23:12, tagi: php, symfony
Propel generators are very useful tool, they automate creating of most common CRUD modules. However default theme have serial issues. Mostly, html forms are based on tables and list is not a sfPropelPager.
But there is an easy way to make your own theme based on symfony default. You can find it into sf_pear_dir/data/generator/sfPropelModule/default and add/modify whatever you want. To use it in your app just putt it into sf_project_dir/data/geneator/sfPropelModule directory.
Then using symfony console script use “theme” argument:
empathon@aden ~/workspace/example $ symfony propel:generate-module backend author Author --with-show --theme=clean
I have create my own custom theme with forms on divs, pager, flash messege on delete and create/edit. You can download it here.
Udpate: Few errors fixed.
Autor wpisu: Łukasz Rodziewicz, dodany: 13.07.2009 04:56, tagi: php, symfony
That was tricky. I hope it will help somebody.
<?php class SomeForm extends sfForm { //.. /** * Return array of current errors * * @return array */ public function getErrorsArray() { $errors = $embedded_forms_name = array(); foreach($this->getEmbeddedForms() as $embedded_form){ $embedded_forms_name[] = $embedded_form->getName(); } foreach($this as $field){ if($field->hasError()) { if(in_array($field->getName(), $embedded_forms_name)){ foreach($field as $field_embedded){ if($field_embedded->hasError()) $errors[$field->getName().'_'.$field_embedded->getName()] = $field_embedded->getError()->__toString(); } } else { $errors[$field->getName()] = $field->getError()->__toString(); } } } return $errors; } }
For embedded forms it return embedded form name plus field name as a key. You got an idea ;-) It should be standard feature IMHO.
Update: Of course there is a easier way if you don’t have embedded forms:
//... foreach ($this as $field) { $field->hasError() ? $errors[$field->getName()] = $field->getError()__toString() : null; }
or
//... foreach ($this->getErrorSchema()->getErrors() as $name => $error) { $errors[$name] = $error->getMessageFormat(); }