zend framework如何安装?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zend framework如何安装?相关的知识,希望对你有一定的参考价值。

我在zend framework的官网下载了最新版,解压到我本机的虚拟主机的文件夹里,无奈的是我找不到那个是安装文件,无论我访问那个php文件都出错?我在网上找的安装教程都是一笔带过,没有详细的说明,我希望给我回答的人能详细告诉我如何安装的步骤,不要发链接,

  1、下载 ZF;

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

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

  

  4、实例:

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

  <?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

  //设置对象的自动载入

参考技术A 额。貌似zend framework是一个开源的 框架 不用安装的。 你直接吧 library 考出来使用就ok

Zend Framework / Skeleton-Application / Composer 安装问题

【中文标题】Zend Framework / Skeleton-Application / Composer 安装问题【英文标题】:Zend Framework / Skeleton-Application / Composer install issue 【发布时间】:2015-09-22 20:45:33 【问题描述】:

我正在尝试使用 NetBeans 中的骨架创建 Zend Framework 应用程序。当我运行 Composer 安装时,我收到以下错误消息:

"C:\php\php.exe" "C:\composer\composer.phar" "--ansi" "--no-interaction" "update" "--dev"
You are using the deprecated option "dev". Dev packages are installed by default now.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php >=5.5 but your PHP version (5.4.42) does not satisfy that requirement.
  Problem 2
    - Installation request for zendframework/zendframework 2.5.1 -> satisfiable by zendframework/zendframework[2.5.1].
    - zendframework/zendframework 2.5.1 requires php >=5.5 -> your PHP version (5.4.42) does not satisfy that requirement.

Done.

显然,Zend Framework only needs PHP 5.3+ 与上述内容相矛盾。我需要使用 PHP 5.4。

我的composer.json 如下:


    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": 
        "php": ">=5.5",
        "zendframework/zendframework": "2.5.1"
    

如何使用骨架创建 PHP 5.4 / ZendFramework 2 应用程序?有解决方法吗?我是 ZendFramework 和作曲家的新手。

【问题讨论】:

面对事实:PHP 5.4 现在已经严重过时了。所有主要框架都继续只支持积极维护的 PHP 版本。这排除了 5.4,它只会在另外两个月内获得安全修复。 Symfony 在他们即将发布的 3.0 版本中移动到 >=5.5.9。 Zend 在他们的 2.5.0 版本中切换到 >=5.5,承诺在一段时间内(直到 2018-03-31)维护他们的 2.4 版本(宣布为 LTS - 长期支持)。但是,如果使用的 PHP 已经过时,这对任何人都没有帮助。更新 PHP 的压力越来越大。 【参考方案1】:

一个简单易行的解决方案: 安装 Bitnami Lamp Stack 它有你需要的一切,包括一个完整的 zendframework。

拥有 Lamp Stack (linux) 或 Wamp Stack (windows) 后,转到位于以下路径的配置目录:/home/user/lampstack-5.6.29-1/apache2/conf/bitnami 并编辑文件 bitnami-apps-prefix.conf,您会发现其中有一行注释为

#Include "/home/user/lampstack-5.6.29-1/frameworks/zendframework/conf/httpd-prefix.conf"
// uncomment it deleting the character "#"
// let it:
Include "/home/user/lampstack-5.6.29-1/frameworks/zendframework/conf/httpd-prefix.conf"
// save changes and exit.

如果服务器正在运行,请重新启动它。现在你已经运行了zend、php、apache和mysql。

问候

【讨论】:

【参考方案2】:

您链接到的页面已过期。 Zend Framework 2.5 需要 PHP 5.5 或更高版本。你可以在你的 PHP 版本上运行 ZF 2.4.x,但是PHP 5.4 reaches end of life in a couple of months,所以如果可以的话,你最好安装一个更新的 PHP 版本。

【讨论】:

【参考方案3】:

我引用你放在这里的代码sn-p:

"php": ">=5.5",

删除该行,一切正常。


顺便说一句,从不在您的 composer.json 文件中有锁定版本。锁定版本由 Composer 在运行 composer update 时自动在 composer.lock 中完成。相反,请使用类似^2.5.1(意思是&gt;=2.5.1,&lt;3.0-dev)~2.5.1(意思是&gt;=2.5.1,&lt;2.6-dev)的版本约束。

【讨论】:

骨架将需要 Zendframework 2.5.1 版本,而这确实也需要 PHP 5.5。从骨架包中删除需求并不能解决问题。更新 PHP 将解决它。或者,下载旧版本的骨架也可以。 我已经尝试删除你提到的那一行,但是 Sven 是对的,我仍然有一个 php 版本的问题...

以上是关于zend framework如何安装?的主要内容,如果未能解决你的问题,请参考以下文章

Xampp / Composer / Zend Framework 2 安装问题

Zend Framework - 安装旧版本

如何在Zend Framework3中更新composer更新时集成simplesamlphp库和更新配置

在 Zend Framework 2 项目中没有从作曲家安装 TCPDF

Zend Framework 2 安装期间的 Composer CreateProcess 错误代码 0

如何获得像2.3这样的zend框架骨架旧版本