我是Zend框架的新手,并决定尝试使用ZF2构建一个简单的应用程序.
我有一个日期从数据库中拉出我的表网关扩展AbstractTableGateway,这是正确地拉我的数据但我想使用Zend_Date格式化我的日期而不是在我的模型/视图中操纵字符串表示.
有没有人对我这样做有什么想法?
我试图在布局文件中获取控制器名称和操作名称.但不可能.在ZF1中,我们使用Front Controller实例来获取控制器和操作名称.我已经浏览了很多网站.但是没有解决方案.我如何进入ZF2?
我已经按照Zend Framework 2的教程进行了操作,我在渲染表单上看到,绑定标签的约定是将input元素包装在label标签中,而不是使用'for'属性.虽然本教程没有涵盖它,但我(正确地)推断出属性数组允许在输入元素本身上设置类,但我真正想要做的是将类应用于选项下定义的标签.
这是教程中使用的示例(来自AlbumForm.php):
$this->add(array(
'name' => 'title',
'attributes' => array(
'class' => 'required', // <- I added this
'type' => 'text',
),
'options' => array(
'label' => 'Title',
),
));
Run Code Online (Sandbox Code Playgroud)
这将呈现如下:
<label><span>Title</span><input name="title" class="required" type="text" value=""></label>
Run Code Online (Sandbox Code Playgroud)
或者,我可以将类应用于span标记,但我更喜欢在标签上使用类,然后使用css子选择器作为span和input元素
我重新阅读了教程以及相应部分的注释,甚至深入研究了Zend\Form API文档本身,我没有看到如何以这种方式声明表单元素时将类属性应用于标签.
另一个带有表单渲染的小挑剔是它看起来是内联呈现的,表单元素之间没有换行符.我通过在视图脚本(add.phtml和edit.phtml)中添加换行符来解决这个问题,如下所示:
echo $this->formRow($form->get('title')) . "\n";
Run Code Online (Sandbox Code Playgroud)
但是,对于视图中的每个回显表单语句而言,这似乎很痛苦,并且formCollection()还使用内联呈现整个表单输出.出于易读性的目的,我希望在查看源代码时至少有适当的换行符(我也希望适当的缩进,但这似乎是一个很高的顺序,因为即使IDE在大多数情况下都会出错)
那么,我是否缺少这些问题的内置选项,或者是一种定义工厂或帮助器的方法?如果我需要编写帮助程序,我希望它适用于所有模块.
我是新手,ZF2但我做了一些项目ZF.我没有使用任何ajax分页ZF.但现在我需要ajax分页ZF2.我怎么做?
我有以下内容 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.3.3",
"zendframework/zendframework": "2.2.*",
"doctrine/doctrine-orm-module": "*",
"bjyoungblood/bjy-authorize": "1.2.*",
"zf-commons/zfc-user": "dev-master",
"zendframework/zend-developer-tools": "*",
"zendframework/zftool": "dev-master",
"swiftmailer/swiftmailer" : "*",
"mwillbanks/zfc-twitter-bootstrap": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
添加require后zf-commons/zfc-user-doctrine-orm,Composer无法执行命令,composer update给出大错误消息:
composer.json has been updated
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
- Installation request for …Run Code Online (Sandbox Code Playgroud) 我在一个Controller中有10个动作.每个操作都需要ID来自请求.我想在构造函数中检查每个动作的ID,所以我想避免在每个动作中写入相同的代码10次.
显然,在构造函数中我不能使用如下函数:
$this->params()->fromQuery('paramname'); or
$this->params()->fromRoute('paramname');
Run Code Online (Sandbox Code Playgroud)
那么,问题是如何在控制器的构造函数中获取请求参数?
我完全是Doctrine和ZF2的新手,来自C#env.从几天开始学习教义和zf2.并尝试学习基本的东西,以便我可以 在未来几天内构建RESTFull服务API.现在,我试图将原则获取All()结果输入到json但未能这样做.mys API客户端(backbone.js)工作正常,它是结果,但显示空对象
我的控制器代码是这样的
public function getList() {
$repository = $this->getEntityManager()->getRepository('Application\Entity\Test');
$posts = $repository->findAll();
echo var_dump((array)$posts);
header('Access-Control-Allow-Origin:http://api.server.com');
return new JsonModel($posts);
}
Run Code Online (Sandbox Code Playgroud)
var_dump结果
array(2) {
[0]=>
object(Application\Entity\Test)#339 (2) {
["id":"Application\Entity\Test":private]=>
int(2)
["name":"Application\Entity\Test":private]=>
string(5) "Kumar"
}
[1]=>
object(Application\Entity\Test)#340 (2) {
["id":"Application\Entity\Test":private]=>
int(1)
["name":"Application\Entity\Test":private]=>
string(8) "Panindra"
}
}
Run Code Online (Sandbox Code Playgroud)
而我的JSONModel输出是[{},{}].
我想将其构建为RESTFull服务
我有一个Zf2表单日期元素,我用这种方式,
$this->add(array(
'type' => 'Zend\Form\Element\Date',
'name' => 'releasedate',
'options' => array(
'label' => 'Release Date'
),
'attributes' => array(
'min' => '2012-01-01',
'max' => '2020-01-01',
'step' => '1',
)
));
Run Code Online (Sandbox Code Playgroud)
所以在chrome中我得到一个日期选择器但不是在safari或firefox中?我需要为此做任何新配置吗?
我的任务是探索创建动态网址的可能性.我们试图实现的是为客户提供域名服务.
例如.www.example.com/clients/john/
例如.www.example.com/clients/bill/
这些网址不是固定的,但必须在客户每次在我们的网站注册时动态制作.我们的URL是控制器和动作的构建.像www.example.com/controller/action一样.
如何在PHP Zend Framework 2中实现这一目标?
非常感谢提前!
什么是扩展zend框架2模块的最佳方法.
例如,我想更改zfcuser中的注册页面视图,我将zfcuser模块从供应商克隆到模块文件夹并更改了视图文件,但Zend Framework 2使用供应商文件夹1,如果我删除供应商中的zfcuser文件夹它可以正常工作,但同时有两个模块使用供应商版本
zend-framework2 ×10
php ×3
doctrine-orm ×2
browser ×1
composer-php ×1
constructor ×1
forms ×1
json ×1
module ×1
pagination ×1
parameters ×1
request ×1
view-helpers ×1
zend-form ×1
zend-form2 ×1
zfcuser ×1