Zend Framework之Hello World
ZendChina官方:Zend Framework应该是最目前最齐全最庞大的PHP Framework了,目前版本号已经到了1.6,可惜很多资料还是针对的最初的一些版本,再加上Zend Framework各个版本之间并不完全兼容,初次应用Zend Framework感觉不是很顺利。庆幸的是今天终于在Zend Framework下写出了第一个Hello World程序。接下来我所记录的,不适用于最新版本。我是使用的0.2.0版进行的测试,这一版是在2006年10月29日发布的。Zend Framework 0.2.0可以通过[url=http://framework.zend.com/releases/ZendFramework-0.2.0.zip]此链接[/url]直接下载。压缩包内包含了API文档。
这个Hello World的目录结果是这样的。在浏览器中通过http://localhost/test/index.php来访问。因此,在你的Web文档根目录下建立test目录,在test目录下建立以下三个目录:
Application\Controllers
Application\Models
Application\Views
这三个目录分别对就于MVC设计模式的控制器、模型和视图。然后,把下载的Zend Framework压缩包解压到test目录中,这样test目录中就有了Zend Framework的目录ZendFramework-0.2.0。里面的library目录才是Zend Framework的代码。
在test目录下创建index.php,内容如下:
[quote][b]<?php[/b]
[color=#990000]set_include_path[/color][color=#099000]([/color]'D:\Web\test\ZendFramework-0.2.0\library'[color=#099000])[/color];
[color=#b1b100]include[/color] [color=#099000]([/color]'Zend.php'[color=#099000])[/color];
[b]function[/b] __autoload[color=#099000]([/color][color=#008800]$class[/color][color=#099000])[/color][color=#099000]{[/color]
Zend[color=#339933]::[/color][color=#040000]loadClass[/color][color=#099000]([/color][color=#008800]$class[/color][color=#099000])[/color];
[color=#099000]}[/color]
[color=#008800]$view[/color][color=#339933]=[/color][b]new[/b] Zend_View[color=#099000]([/color][color=#099000])[/color];
[color=#008800]$view[/color][color=#339933]->[/color][color=#040000]setScriptPath[/color][color=#099000]([/color]'./Application/Views'[color=#099000])[/color];
Zend[color=#339933]::[/color][color=#040000]register[/color][color=#099000]([/color]'view'[color=#339933],[/color][color=#008800]$view[/color][color=#099000])[/color];
[color=#008800]$router[/color][color=#339933]=[/color][b]new[/b] Zend_Controller_RewriteRouter[color=#099000]([/color][color=#099000])[/color];
[color=#008800]$controller[/color][color=#339933]=[/color]Zend_Controller_Front[color=#339933]::[/color][color=#040000]getInstance[/color][color=#099000]([/color][color=#099000])[/color];
[color=#008800]$controller[/color][color=#339933]->[/color][color=#040000]setRouter[/color][color=#099000]([/color][color=#008800]$router[/color][color=#099000])[/color];
[color=#008800]$controller[/color][color=#339933]->[/color][color=#040000]setControllerDirectory[/color][color=#099000]([/color]'./Application/Controllers'[color=#099000])[/color];
[color=#008800]$controller[/color][color=#339933]->[/color][color=#040000]dispatch[/color][color=#099000]([/color][color=#099000])[/color];
[b]?>[/b][/quote]
第一行用set_include_path设计PHP自动包含的路径,必须要有Zend Framework的library目录,否则会出现找不到类的错误。接下来的代码现在暂不作解释。然后在Controllers目录下创建IndexController.php文件,包含一个IndexController类:
[quote][b]<?php[/b]
[b]class[/b] IndexController [b]extends[/b] Zend_Controller_Action[color=#099000]{[/color]
[b]public[/b] [b]function[/b] indexAction[color=#099000]([/color][color=#099000])[/color][color=#099000]{[/color]
[color=#008800]$view[/color][color=#339933]=[/color]Zend[color=#339933]::[/color][color=#040000]registry[/color][color=#099000]([/color]'view'[color=#099000])[/color];
[color=#990000]echo[/color] [color=#008800]$view[/color][color=#339933]->[/color][color=#040000]render[/color][color=#099000]([/color]'test.php'[color=#099000])[/color];
[color=#099000]}[/color]
[color=#099000]}[/color]
[b]?>[/b][/quote]
这个控制器类必须被命名为IndexController并且和文件名一致,它是Zend Framework的默认控制器,而里面的indexAction()方法则是控制器的默认动作(Action)。这个方法只是简单地把视图文件test.php显示出来。接着在Views目录下创建test.php,也就是用于显示的视图文件,内容如下:
<html>
<body>
<h1>Hello World!</h1>
</body>
</html>
做完这些以后,Zend Framework的Hello World程序应该就可以运行了,打开http://localhost/test/index.php测试一下试试。
页:
[1]
