facebook twitter hatena line email

Php/zend framework/基本メモ

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

zendframeworkメモ

ダウンロード

http://framework.zend.com/download/latest Zend Framework 1.9.7 Full

windowsの場合

インストールphp本体の下あたりに置く

C:\xampp\php\ZendFramework

設定

Apacheの設定
[C:\xampp\apache\conf\httpd.conf]
119行目
#LoadModule rewrite_module modules/mod_rewrite.so
 ↓ コメント削除で有効化
LoadModule rewrite_module modules/mod_rewrite.so

PHPの設定
[\xampp\apache\bin\php.ini]
447行目
include_path = ".;\xampp\php\pear\"
 ↓ Zend Frameworkのパスを追加
include_path = ".;\xampp\php\pear\;\xampp\php\ZendFramework\library\"

linuxの場合

linux/phpインストール/zend [ショートカット]

動作サンプル

// Zend Frameworkのバージョン情報
require_once 'Zend/Version.php';
echo 'version = ' . Zend_Version::VERSION;

マニュアル

http://framework.zend.com/manual/ja/

参考

http://blogs.yahoo.co.jp/muiminamoji/1049134.html
http://groups.google.co.jp/group/php-beginner/web/zend-framework

コマンドライン

環境パス設定にD:\xampp\php\ZendFramework\binを設定し、
zf.batでヘルプが見られる。

プロジェクト作成

zf.bat create project sample

コントローラ設定

application\controllersにあるindexController.phpが初期ページとなる
http://hostname/test/hello/で以下コントローラーにアクセスする
class TestController extends Zend_Controller_Action
{
  public function helloAction() {
  }
}
initメソッドが初期メソッド

ビュー設定

例として、indexコントローラーのpostアクションの場所は
application\views\scripts\index\post.phtmlとなる

データの橋渡し

アクションで$this->view->rowsに格納したものが
ビューの$this->rowsで参照できる
$this->view->assign('rows', );で割り当てることも可能

エラー処理

プロジェクト作成時に作成されたcontroller/ErrorController.phpの
errorActionメソッドが処理をする

アクション遷移

$this->_forward("action1");
$this->_forward("action1", "controller1");
(init() からforwardにコントローラを指定すると動かなくなる)

アクション前後処理

// 処理前
public function preDispatch(){}
// 処理後 
public function postDispatch(){}

.htaccess

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
php_flag magic_quotes_gpc Off

推奨ディレクトリ構成

http://www.mikaelkael.fr/doczf/1.10/ja/project-structure.project.html

zendクラス一覧

http://codezine.jp/article/detail/1824

zendを利用したオープンソースCMS

  • storefront

http://www.ohloh.net/p/zfstorefront

  • TomatoCMS

http://www.tomatocms.com/

  • Omeka

http://omeka.org/download/

  • live-commerce

http://www.live-commerce.com/