gpt4 book ai didi

php - 我如何定制 Zend_Tool 以提供我自己的框架/模板?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:08 25 4
gpt4 key购买 nike

Zend_Tool 很好,它生成一个具有给定名称和给定路径的项目。

但过了一段时间,我开始开发自己的工具,如助手、插件、验证器等......

我把它们都放在了库中,这没问题(并且推荐)。

但是,我必须使用相同的引导文件启动我的项目,包括我的插件、助手、翻译对象、数据库对象等的初始化。

有些可以在 application.ini 中完成。

然后,我希望能够编写我自己的通用 application.ini,我的 Bootstrap 中的一些初始化代码,也许是某个目录,等等......

你做什么/怎么做?

最佳答案

我想一种解决方案是编辑 library/zend/Tool/Project/Context/Zf 中的文件,这些文件似乎提供了用于开箱即用项目的内容/结构。

但这听起来不像是正确的解决方案。此外,在我正在进行的研究中,我已经发现该工具(zf.bat 或 sh)会扫描 php inculde_path 上的所有目录以查找“ list ”和“提供程序”,这反过来又为该工具提供了功能。

文章Zend_Tool for the Developer一位 Zend 开发人员刚刚澄清了一些事情。

list

可用于捆绑和“加载”任意数量的提供程序。

提供商

提供者反过来是您要使用的 CLI 命令的实际容器,其设计类似于“ Controller /操作”设计。您可以通过调用从命令提示符调用特定类( Controller )的方法(操作):

zf <method-name> <class-name>

假设这个类扩展了 Zend_Tool_Project_Provider_Abstract

随后我发现让提供商负责设置开箱即用布局的 list 位于:

library\Zend\Tool\Project\Provider\Manifest.php

在此文件中,以下提供程序返回给工具:

public function getProviders()
{
return array(
new Zend_Tool_Project_Provider_Profile(),
new Zend_Tool_Project_Provider_Project(),
new Zend_Tool_Project_Provider_Controller(),
new Zend_Tool_Project_Provider_Action(),
new Zend_Tool_Project_Provider_View(),
new Zend_Tool_Project_Provider_Module(),
new Zend_Tool_Project_Provider_ProjectProvider()
);
}

这些显然是可用的默认 CLI 命令。

此外,很明显您可以通过提供您自己的 xml 项目配置文件来对创建的内容产生很大影响,该配置文件默认创建在 library/Zend/Tool/Project/Provider/项目中的方法 _getDefaultProfile()。

我目前正在尝试的:

  • 用我自己的东西覆盖默认提供者和默认 list ,并在我自己的项目提供者中覆盖 _getDefaultProfile() 并将一些东西设置为 true 而不是 false。

我在 CLI 不接受我的提供商时遇到了一些问题。我会报告进度!

关于php - 我如何定制 Zend_Tool 以提供我自己的框架/模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com