ZF不需要配置apache rewrite模块的方法
|
 

|
ZF不需要配置apache rewrite模块的方法
本帖最后由 七月十五 于 2009-5-20 08:30 编辑
这篇文章本来是不需要写的..既然有人问到..就写一份了..其实bantu兄已经把关健部分写了..但是设置上有点不同..HOHO
1.在htdocs目录下建立一个test目录,把最新的zf的library(zf 1.5或者svn最新的,1.4是乎也可以,没有测试过.呵呵)
2,进行php.ini设置
找到include_path
加上一条这样的字符串"xxx\htdocs\test\library" xxx表示你的路径
3.写index.php入口文件,放入xxx\htdocs\test\www目录中.
[PHP]
<?
require_once 'Zend.php';
//include Zend.php后,就可以用loadClass函数指定类名,自动加载需要ZF的类
function __autoload($class)
{
Zend::loadClass($class);
}
$view = new Zend_View;
//设置路径
$view->setScriptPath('../');
//放入对象寄存器
Zend::register('view', $view);
//这里是关健,比以前的方式多了两行代码,ZF的做法是借鉴ROR的.
//如果要了解多点信息,可以看看这里http://manuals.rubyonrails.com/read/chapter/65
//预告一下,下一个版本,zf官方说了要改进一下URL模式的,可能是跟ror一样用配置文件来选择的URL模式吧.
$router = new Zend_Controller_RewriteRouter();
$controller = Zend_Controller_Front::getInstance();
$controller->setRouter($router);
//设置路径
$controller->setControllerDirectory('../');
$controller->dispatch();
?>
[/PHP]
4.写controller文件
略
5.写view
略.
6.http://url/test/www/index.php/就可以浏览了.
PS:用此方法..哪位老兄可以试试在IIS下使用ZF.^_^..可以的话,写一篇文章..我会加精的哦.说到做到.^_^ |
|
|
|
|
|
|
|
|
 

|
2#
发表于 2006-8-2 06:55
| 只看该作者
有人问虚拟主机的事情,就再写写吧,免得有人再问..如果你是用虚拟主机的..配置不了php.ini
还有一个方法,这样就不用设置了..用ZF就不存在问题了(db库目前还用不了,毕竟支持pdo的不多)
我们修改一下入口文件index.php,在最上面加一行代码,如下:
[PHP]
<?
//一定要加这句,路径具体而定,这里是根据上面的例子来的..
set_include_path('../library');
require_once 'Zend.php';
//include Zend.php后,就可以用loadClass函数指定类名,自动加载需要ZF的类
function __autoload($class)
{
Zend::loadClass($class);
}
$view = new Zend_View;
//设置路径
$view->setScriptPath('../');
//放入对象寄存器
Zend::register('view', $view);
//这里是关健,比以前的方式多了两行代码,ZF的做法是借鉴ROR的.
//如果要了解多点信息,可以看看这里http://manuals.rubyonrails.com/read/chapter/65
//预告一下,下一个版本,zf官方说了要改进一下URL模式的,可能是跟ror一样用配置文件来选择的URL模式吧.
$router = new Zend_Controller_RewriteRouter();
$controller = Zend_Controller_Front::getInstance();
$controller->setRouter($router);
//设置路径
$controller->setControllerDirectory('../');
$controller->dispatch();
?>
[/PHP]
[ 本帖最后由 mikale 于 2006-8-2 07:03 编辑 ] |
|
|
|
|
|
|
|
|

|
4#
发表于 2006-8-5 13:26
| 只看该作者
是啊。我也是遇到这个问题的啊。
以前用$this->_getParam('key1');
就可以取得了。可现在取不到??? |
|
|
|
|
|
|
|
|
 

|
5#
发表于 2006-8-6 02:15
| 只看该作者
$this->_getParam('key1');
这样可以做到.. |
|
|
|
|
|
|
|
|

|
7#
发表于 2006-8-6 20:30
| 只看该作者
| 请问如何设置router才可以去掉网址中的那个index.php呢? 谢谢! |
|
|
|
|
|
|
|
|
 

|
8#
发表于 2006-8-6 20:37
| 只看该作者
原帖由 console_zhao 于 2006-8-6 20:30 发表
请问如何设置router才可以去掉网址中的那个index.php呢? 谢谢!
用最原始的方法..就可以去掉index.php,比如blog实例的教程上的配置方法.. |
|
|
|
|
|
|
|
|

|
9#
发表于 2006-8-6 20:49
| 只看该作者
| 那不用apache rewrite模块又怎么去掉index.php |
|
|
|
|
|
|
|
|
 

|
10#
发表于 2006-8-6 23:30
| 只看该作者
原帖由 console_zhao 于 2006-8-6 20:49 发表
那不用apache rewrite模块又怎么去掉index.php
你如果找到了这种方法,可以告诉我.. |
|
|
|
|
|
|
|