Home | Mirror | Search | ITEYE 博客 | OSChina 博客 | 51CTO 博客 |
sudo mv ZendFramework-1.10.2 /usr/local/share/ sudo ln -s /usr/local/share/ZendFramework-1.10.2 /usr/local/share/zend
~/.bashrc
alias zf.sh=path/to/ZendFramework/bin/zf.sh
alias zf.sh=/usr/local/share/zend/bin/zf.sh
$ zf.sh create project quickstart
$ cd quickstart/library; ln -s /usr/local/share/zend/library/Zend .
Rewrite
.htaccess内容如下:
RewriteEngine on RewriteRule !".(js|ico|gif|jpg|png|css)$ index.php
<VirtualHost *:80> ServerName quickstart.local DocumentRoot /path/to/quickstart/public SetEnv APPLICATION_ENV "development" <Directory /path/to/quickstart/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
/etc/hosts
127.0.0.1 quickstart.local
$ sudo apt-get install php5-sqlite mkdir -p data/db; chmod -R a+rwX data
zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook.db"' \ production zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook-testing.db"' \ testing zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook-dev.db"' \ development
zf create controller Guestbook
zf create model Guestbook
<?php //打开错误提示 error_reporting(E_ALL|E_STRICT); //设定时区 date_default_timezone_set("Asia/Shanghai"); //指明引用文件的路径 set_include_path('.'.PATH_SEPARATOR.'./library'.PATH_SEPARATOR.'./app/model/'.PATH_SEPARATOR.get_include_path()); //必须手动加载Loader.php include "Zend/Loader.php"; //自动加载类,使用时,直接实例化使用 function __autoload($class){ Zend_Loader::loadClass($class); } //getInstance()方法用来获取前端控制器实例 $frontController = Zend_Controller_Front::getInstance(); //设定前端路由器的工作目录,即cotroller $frontController->setControllerDirectory(array("default"=>"app/controller")); //抛出异常 $frontController->throwExceptions(true); //设置基地址,方便以后url的跳转用户,注意,区分大小写! $frontController->setBaseUrl("/phpzend"); //使用smarty模版需关闭本身的视图助手. $frontController->setParam("noViewRenderer", true); // 关闭错误提示,发生请求错误时候,转到ErrorController的errorAction控制器 //$frontController->throwExceptions(false); //对。。进行注册 Zend_Registry::set("font", $frontController); //------------配置Smarty模版 ---------------- include "smarty/Smarty.class.php"; /** * 对smarty模版进行初始化 **/ $views = new Smarty(); //$views->left_delimiter = "{{"; //$views->right_delimiter = "}}"; $views->compile_dir = "app/template_c"; $views->cache_dir = "app/template_c/cache_c"; $views->template_dir = "app/template"; function smarty_block_dynamic($param,$content,&$views) { return $content; } $views->register_block("dynamic","smarty_block_dynamic",false); Zend_Registry::set("views", $views); //开始运行程序 $frontController->dispatch();
<?php //控制器层 class IndexController extends Zend_Controller_Action{ var $views; /*模板对象*/ var $data; /*传递模版变量的对象*/ function init() { //拿回注册过的对象 $this->views = Zend_Registry::get("views"); } function indexAction() { //定义模版显示的变量 $data['title']="hello world"; //传递变量到模版 $this->views->assign($data); //显示模版 $this->views->display("index/index.tpl"); echo "<p>in IndexController::indexAction()</p>"; } function addAction() { } }