- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尝试将新框架的 Form 文件夹与 Zend Framework 1 中的那个交换,但是没有用。
我还尝试将 ZF1 指向新的 Form 2.0 文件夹的库,但我也无法让它工作。
有人知道怎么做吗?
最佳答案
可以将 ZF2 组件与 ZF1 一起使用,并且在大多数情况下相对简单。
首先,您需要将 zf2 克隆到您的库路径中,因此 cd 到 library
并键入:-
git clone https://github.com/zendframework/zf2.git Zf2
这将在库下创建一个 Zf2 文件夹。
我们现在需要告诉自动加载器如何找到 zf2 文件。在您的 Bootstrap 中添加以下内容:-
protected function _initZf2()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader(new App_Loader_Autoloader_Zf2(), 'Zend');
}
然后我们创建自动加载器。我有一个名为 App_ 的 namespace ,它包含在 application.ini 中,包含以下行:-
autoloadernamespaces[] = "App_"
然后我在 App/Loader/Autoloader/Zf2.php 中创建了自动加载器:-
class App_Loader_Autoloader_Zf2 implements Zend_Loader_Autoloader_Interface
{
public function autoload($class)
{
if(strstr($class, '\\')){
$zf2Class = explode('\\', $class);
$path = 'Zf2/library/' . implode('/', $zf2Class) . '.php';
include_once $path;
}
}
}
现在 zf1 知道在提供正确的命名空间时在哪里可以找到 zf2 类。我们可以创建一个表单,例如 Application/Forms/Zf2.php :-
use Zend\Form\Form;
use Zend\Form\Element;
use Zend\Form\Element\Text;
class Application_Form_Zf2 extends Form
{
public function prepareElements()
{
$this->add(array(
'name' => 'name',
'options' => array(
'label' => 'Your name',
),
'attributes' => array(
'type' => 'text',
),
));
}
}
现在,在您的 Controller 中,您可以实例化 zf2 表单:-
$this->view->form = new Application_Form_Zf2();
$this->view->form->prepareElements();
因为我们使用的是 ZF1 View ,所以我们不会自动访问 view helpers用于渲染 ZF2 表单,因此我们必须在需要时在 View 中显式实例化它们:-
$form = $this->form;
$formHelper = new \Zend\Form\View\Helper\Form();
$formText = new \Zend\Form\View\Helper\FormText();
$formLabel = new \Zend\Form\View\Helper\FormLabel();
echo $formHelper->openTag($form);
echo $formLabel($form->get('name'));
echo $formText($form->get('name'));
echo $formHelper->closeTag($form);
这将输出以下 HTML:-
<form action="" method="POST">
<label for="name">Your name</label>
<input name="name" type="text" value="">
</form>
此方法使您可以对表单的输出进行大量控制,我建议将我放在上面 phtml 文件中的一些代码隐藏在 ZF1 View 助手中。
关于php - 可以将 Zend Form 2 与 Zend Framework 1 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956276/
嗨,我有一个包含此代码的 Zend 表单 $field = new Zend_Form_Element_Submit('submit'); $field->setAttrib('class', 'bt
我现在正在尝试使用 zend expressive 并研究如何处理数据库。我在看this ,但不清楚。我使用 composer 安装 zend-db,它提到在 dependencies.global.
我已经通过 Zend auth 创建了一个登录系统,这里是代码 // userAuthentication public function authAction(){ $reque
好的,所以我对 Zend 比较陌生。我已经创建了一个新的应用程序并开始构建基于 a guide 的身份验证系统.但是,服务器正在踢出一个内部服务器错误。 检查 PHP 错误日志后,我得到以下两个错误:
编辑:: 问题是由 Zend 路由引起的,请检查更新 我正在使用 xml 文件进行导航。 编辑::以下代码来自layout.phtml文件 $config = new Zend_Config_Xml(
我想将变量从 Controller 传递到表单。如何实现?谁能帮我解决这个问题。 谢谢。 最佳答案 只是一个活生生的例子: class Admin_Form_Product extends Admin
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我使用默认 Zend_Rest_Route 来生成 Rest 路由: 所以鉴于我只是把 resources.router.routes.rest.type = Zend_Rest_Route在 app
是否存在类似于 Zend Validator Identical 的 Zend Filter? 我应该过滤 input=='test' 的情况 $el->addFilter('Identical','
在/application 文件夹中创建了几个文件夹(例如表单和模型),然后开始向这些文件夹添加类之后,如何使这些类的代码自动完成在我的各种其他文件(例如我的文件)中可用IndexController
我正在尝试删除隐藏表单元素上的默认装饰器。默认情况下,隐藏元素显示如下: Hidden Element Label (if I had set one) 我不希望隐藏元素占用页面上的空间。我想删除所
我是框架新手,但我在安装 zend 1.x 版本等方面没有任何困难。但是ZF2真的搞不懂......任何资源告诉我使用 zend 工具创建项目,即 bin 目录中的 zf.bat 或 zf.sh,但与
我想使用装饰器将下面的 Zend_Form 格式化为表格,在第一列中放置描述并 Zend_Form_Element_Radio 的选项在第二列中和 在每一行中添加 2 个选择,您可以在稍后的 html
当您查看 在下面的标记中,您会看到有一个带有 id 地址标签的 dt 和以下 dd,我想删除这些但保留 字段集。 要添加显示组,我在其中使用了这个 $this->addDisplayGroup(arr
我已经阅读了所有关于路由和 Zend 文档的帖子,但我仍然无法解决这个问题。 我有一个包含两个模块的多语言应用程序:default 和 admin。语言选择工作正常(在 Controller rout
/* Form Elements & Other Definitions Here ... */ $this->setAction("auth") ->setMethod("post")
我正在按照官方教程在 Zend 服务器上部署示例 Zend 应用程序。无论我部署什么,我唯一可以访问的是 hello world 页面(Hello world 打招呼)。 如何访问真实应用程序? ho
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve thi
在 Zend 中使用命名空间的最佳实践是什么? 如何管理存储库、服务等的命名空间? 我在 Zend 文档 here 中找到了一个通用的目录结构,但它没有描述在哪里放置存储库和其他服务! 请将其视为 M
我有问题,以下 Zend 表单会引发错误。 问题是"file"元素和使用 setElementDecorators。 class Products_AddForm extends Zend_F
我是一名优秀的程序员,十分优秀!