zend是php官,Zend Framework下载

Zend Framework是一个php开源框架,可用于开发web应用程序和服务。Zend使用100%面向对象代码和利用大多数PHP5.3的新特性,即名称空间、延迟静态绑定,lambda函数和闭包。Zend大量应用了PHP5中面向对象的新特征如接口、异常、抽象类等等,这些东西让Zend 具有高度的模块化和灵活性。还有Zend的组成结构是独一无二的,每个组件被设计与其他部件数的依赖关系。同时Zend也是遵循SOLID面向对象的设计原则,这样的松耦合结构可以让开发人员使用他们想要的任何部件。

Zend Framework安装篇:

1、解压下载的压缩包。

2、将其库类放到项目的根目录中;如:/var/www/nbaplayers/library/Zend

3、创建项目的基本目录:

8e4fe68628b00f410d6a1d6b7fc3c546.png

4、实例:

4.1、新建文件 /var/www/nbaplayers/index.php:

error_reporting(E_ALL|E_STRICT);//语句打开了错误输出开关,用于代码调试,正式发布的代码应该屏蔽错误信息。

date_default_timezone_set('Asia/Shanghai');//设定时区

set_include_path('.'.

PATH_SEPARATOR.'./library'.  //用于设定类库的包含路径,ZF的系统类库就是在这里指定的。

PATH_SEPARATOR.'application/models/'.    //包含自定义类文件。

PATH_SEPARATOR. get_include_path());

require_once 'Zend/Loader.php';

Zend_Loader::registerAutoload();  //自动加载类

$frontController = Zend_Controller_Front::getInstance();//取得Zend_Controller_Front类实例

$frontController->setControllerDirectory (array(

"default" => 'application/controllers',

)); // 指定一组控制器文件路径,参数是数组。设置前端控制器,主要是让控制器知道我们的的控制器类在哪里

$frontController->throwExceptions(true);//让前端控制器抛出所有的异常。 默认情况下,前端控制器将捕获这些异常并将其人传递到 ErrorController 控制器,在开发过程,这样错误容易发现。但在实际运行中,不能将这些错误直接显示给前端用户。

$frontController->setParam('noViewRenderer', true);// 指明不使用视图,false 是默认值。

$frontController->setParam('noErrorHandler', false);

$frontController->dispatch(); //程序执行分发

?>

注意:如果你用的ZF是之前的版本的话,会出现以下提示:

Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in /usr/local/zend/share/ZendFramework/library/Zend/Loader.php on line 207

那么将:

require_once 'Zend/Loader.php';

Zend_Loader::registerAutoload(); // 自动加载类

修改为:

require_once 'Zend/Loader/Autoloader.php';  // 自动加载类

$loader = Zend_Loader_Autoloader::getInstance();

$loader->setFallbackAutoloader(true);

$loader->suppressNotFoundWarnings(false);

就好了。具体可以看看ZF的官方说明。在Autoloader.php文件中,有一方法:

protected function __construct()

{

spl_autoload_register(array(__CLASS__, 'autoload'));

$this->_internalAutoloader = array($this, '_autoload');

}

用来实现自动加载类文件。

* spl_autoload_register — Register given function as __autoload() implementation

//设置对象的自动载入

4.2、新建文件 /var/www/nbaplayers/application/Controllers/IndexController.php:

class IndexController extends Zend_Controller_Action

{

function indexAction()

{

echo "Hello ZendFramework!";

}

}

?>

4.3 新建文件 /var/www/nbaplayers/.htaccess

RewriteEngine on

RewriteRule !/.(js|ico|gif|jpg|png|css)$ index.php

以上是说,启动 RewriteEngine 引擎,并把对除js、ico、gif、jpg、png、css等图片、js脚本、css的请求外都得经过index.php文件。当然上面的实例不创建这个也可以正常运行,但如果你使用ZF开发实际的项目,这就是必须的了。

4.4、运行:在浏览器地址栏输入http://www.domain.com回车,浏览器将显示结果:

Hello ZendFramework!

OK 完成!

php框架哪个好用?

在国外,比较火的应该是Zend Framework,毕竟比较官方,另外其开发团队比较强大,人多力量大啊。在国内,做得比较成功的是ThinkPHP,但是其学习难度要高于FleaPHP,对于进度要求紧迫的项目,FleaPHP非常适合。因为其易学,这大大降低了很多学习成本,团队很快就能掌握如何使用它。就项目这块,根据很多人经验,symfony、Zend Framework比较适合大型项目。CakePHP、CodeIgniter比较适合中小型项目。FleaPHP、ThinkPHP比较适合中型项目。总之,适合自己的才是最好的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值