| 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
<?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()
{
}
}