我想扩展ZfcUser模块,但不想编辑原始ZfcUser文件。
如何扩展module.php、视图和表单文件等文件?
或者甚至可以扩展整个模块吗?出于什么原因需要扩展ZfcUser\module类?在大多数情况下,您可以在自定义用户模块类中执行此操作,例如MyUser\module
对于其他功能,请查看我对该问题的回答以及我随后基于此创建的。关于SO的问题仍然使用了Zend\Di的旧机制,但我的博客文章更新为使用Zend\ServiceManager方法。感谢您的教程。表单会显示,但当我提交表单
我对Zend框架非常陌生。我无法覆盖ZfcUser模块的视图脚本。我将ZfcUser下载到供应商目录中。我制作了自定义模块并更改了路由。但是,更改viewscripts不会带来好运
我将url改为profile而不是user。并进行了这些配置,以包括对视图脚本的覆盖。但是,我仍然从供应商文件夹中获取默认脚本。非常感谢你的帮助
<?php
namespace Profile;
use Zend\Mvc\MvcEvent;
class Module
{
public funct
我正在使用zend framework 2.x,我想知道在哪里放置实用程序类?它既不是控制器也不是实体?!在Java中,我会在源文件夹main program package下创建一个包utilities 1-通用语言服务(可在控制器、操作、视图中访问)
2-“查看辅助对象”或phtml文件的“占位符”(查看脚本)
在view helper中,您可以访问数据库,例如MenuHelper。我建议不同的地方有不同的解决方案
public function getServiceConfig() {
我正在使用ZfcRbac,需要添加一个自定义的重新定向策略。我已经阅读了这里的文档,但不能100%确定如何为我的用例实施替代策略:
当用户试图在管理员区域中输入路由时,如果他们尚未登录,我当前会重定向回管理员登录页面
当客户登录到他们的帐户页面时,我需要将他们重新定向到客户登录页面。目前,它们被重新定向到管理员登录页面
我的Module.php文件包含以下内容:
public function onBootstrap(EventInterface $e)
{
$t = $e-&g
对Zend框架2有疑问。
在我的应用程序中,我有一个处理整个应用程序的模块
为了进一步改进,我想开发一个主题管理器
主题管理器应该使用url参数,如?Theme=lightTheme。
主题组织在模块外部的“模板”文件夹中。
主题还应包括视图脚本
据我所知,通过阅读一些ZF2文档,它可以通过一些侦听器事件来实现
有没有人做得很好,或者可以给我举一些例子,说明我如何解决这个问题?我认为这个模式可以工作
主题文件夹结构
/path/to/themes
/path/to/themes/some_the
ZF1Zend_Mail有一个静态方法setDefaultFrom($email,$name=null)。此处指定的值将用作默认值,只要它不是为具体对象指定的
ZF2没有更多的门面组件Zend\Mail。相反,您应该显式地使用
Zend\Mail\Transport\TransportInterface::send(Mail\Message $message)
我的建议是将默认发件人存储在配置中,并在每次创建Zend\Message对象时进行设置。我们甚至可以更进一步,在模块中为邮件消息创建
我已经设置了模块,但我当前收到每个URL的403“拒绝访问”错误,在home路由中配置的URL除外
我的module.byjauthorize.global.php如下所示:
'BjyAuthorize\Guard\Controller' => array(
array('controller' => 'zfcuser', 'roles' => array()),
),
'bjyauthorize'=>数组(
“防护装置”=>阵列(
'
我有两个链接的关系表“demande”和“reponse”,我想检索“demande”的所有行,而不是“reponse”
我用join试试这个:
$select = new Select ();
$select->columns(array("id"));
$select->from ("demande" );
$select->where->lessThan("dateArretMarche",$stringDate );
$select->join(
我的开发服务器拥有所有这些功能,我创建的应用程序一切正常
现在我需要将我的应用程序上传到生产服务器,但使用ftp客户端进行复制与zf1不一样。有没有办法让它在没有控制台的情况下工作
我本来会尝试使用php中的exec(),但这也不起作用。有什么建议吗
在无法打开console或运行composer的情况下,如何将生产就绪的应用程序上载到服务器?也许composer有这个功能?您不需要控制台。复制这些文件不会有问题。如果没有,你就会丢失一些文件。PHP应用程序就是这么简单,当出现问题时,请检查错误
我有一个新问题要问你。:)
你知道我如何在我的声明中添加“order by user_id”吗?
以及如何添加“或”运算符
public function fetchAll()
{
$resultSet = $this->tableGateway->select();
return $resultSet;
}
非常感谢。有效的程序是
$resultSet = $this->tableGateway->select(function (Select $se
我刚开始看Zend Framework 2,但一件事也做不到
开始时,加载自动加载器,例如StandardAutoloader
例如,您调用db适配器,让我们这样说
$adapter=new Zend\Db\adapter\adapter($configArray)
如何在php中注册使用。在Zend1中,我看到它已经完成了Zend_uRegistry,但是在Zend2中没有这样的东西
因此,如果我想在模块中的某个地方调用$adapter,我如何在ZF2中调用$this->adapter->…而
如何获得实现或扩展自特定类的每个类?
例如,我想获取从MyClassName类实例化的所有类 您可以按照Exlord所说的做,但是如果您想要特定于框架的东西,您可以在配置文件中的特定键下添加您喜欢的类,并获取所有这些类。
例如:
单元A:
return array(
'MyClassName' => array(
'Module\Service\ClassA' => 'Course\Service\ClassA',
'Module\Servi
我有两个模块-应用程序和StickyNotes。我需要在所有页面上使用翻译
我所做的:
1) 视图中:
2) 在Application\Module.php中:
public function onBootstrap(MvcEvent $e)
{
$translator = $e->getApplication()->getServiceManager()->get('translator');
$eventManager = $e->getApplica
我尝试在zendframework 2应用程序中调用strTime()函数,但收到以下错误消息:
致命错误:调用未定义的函数strtime()
这就是我所说的:
$dateObject = strptime(2014-04-01 , '%d-%M-%Y');
我正在尝试将日期转换为时间戳
或者,在Zend framework 2中是否有其他方法将日期转换为时间戳
更正
大家好,这是我的错;我试图在windows平台上使用striptime()。文档中明确指出它不在windows上运行。您运行
有人能解释一下InputFilterWareInterface和InputFilterProviderInterface接口之间的区别吗?两者似乎都是为了同样的目的,得到一个输入过滤器,但我知道它们不可能是一样的。。。他们什么时候接到电话
谢谢两个接口都有不同的用途。保证实现的类将有一个setInputFilter()和getInputFilter()方法,这些方法在必要时接受并返回实例。另一方面,只保证实现的类将有一个getInputFilterSpecification()方法,该方法返回一
我正在尝试从ZfcUser模块的控制器UserController中删除cookie
当用户注销时,我想删除所有cookie
例如,我正在视图中设置cookies:
setcookie("var", $value);
注销操作:
public function logoutAction()
{
$this->zfcUserAuthentication()->getAuthAdapter()->resetAdapters();
$th
我在ZF2上有一个巨大的网页,服务器是vagrant box
问题是主页加载速度非常慢,超过15秒。
即使是管理面板,在简单页面上加载时也会延迟2-4秒
我做了一些调试,在index.php之后2秒调用索引控制器
所以我猜配置/路由有问题。
这些站点为每个产品使用多个子域
任何ide/工具如何定位问题?如果使用VirtualBox,可以尝试使用NFS。我使用NFS/1 Gb内存/2进程核心VirtualBox@newage我用的是Windows主机,他们说NFS不能用。所有OSS的问题都是一样的
当我尝试在Zend Framework 2.4应用程序中使用以下ZF工具命令创建新控制器时:
zf create controller Author index-action-included=1 Author C:\wamp\www\ZendApp
我得到以下错误:
Reason for failure: Invalid arguments or no arguments provided
但是当我删除index action included=1时,ZF工具会创建一个没有任何问题的控制器
我有zf1的SQL语句如下:
$tableName = 'log_ccu_' . $gameId;
$sql = 'SELECT MAX(su) AS total ';
$sql .= 'FROM ';
$sql .= '(SELECT SUM(ccu) AS su ';
$sql .= 'FROM ' . $tableName . ' WHERE `time` BETWEEN "' . $startMoment . '" AND "' . $endMoment
我是Zf2的新手。我有用户和管理模块。当用户登录时,我在管理员中创建了配置文件,他在其中更改了配置文件和密码。
现在我正在更改密码,但我不明白如何为更改密码编码。我的代码如下:
我的ProfileController是:
<?php
namespace Admin\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Admin\Mode
我试图增加csrf超时的超时时间。
我已经在zend文档中的表单配置中对其进行了更改
我尝试过使用像这里这样的自定义验证器
超时仍然保持为5分钟-默认值
问题是如何更改此值?能否共享表单代码?这是表单文件中的代码。自定义验证器的配置我没有保留它。但使用此设置,csrf超时仍然为5分钟$此->添加(数组('type'=>'Zend\Form\Element\Csrf','name'=>'security','options'=>数组('Csrf\u options'=>数组('timeout'=>
我在Zend Framework 2中开发了一个CLI命令。我想从控制器运行它。我如何在Zend Framework 2中做到这一点?您可以这样做:
$cmd = "php filenameToRun.php";
shell_exec($cmd);
$cmd = "pwd";
shell_exec($cmd);
$cmd = "mkdir myNewFolder";
shell_exec($cmd);
或者像这样:
$cmd = "php filenameToRun.php";
shell
我已经按照步骤从框架()创建了Zend Framework 2应用程序
还有一个关于ZF2本机控制台支持的非常好的教程
现在,教程说:
假设我们希望我们的应用程序能够处理以下内容
命令行:
当用户使用这些参数运行我们的应用程序(zf)时,我们希望
调用操作resetpassword of Application\IndexController
问题是,没有关于如何在控制台(当前为windows)上运行脚本的描述-在创建的文件夹结构中没有zf或任何其他可执行脚本
有什么提示吗
理想情况下,应该是
我们刚刚开始使用zf2,所以其他人制作了一个缩略图服务器模块,然后我添加了一个查找服务器模块。我之所以称这些服务器是因为它们都是RESTful API。起初,它们似乎协同工作,但有人对我的模块做了一些更改,现在缩略图服务器将无法工作,除非从模块的application.config.php列表中删除查找。不管怎样,查找服务器都可以工作。查看代码,我看不出对查找所做的更改会如何影响缩略图。我得到的错误如下所示:
发生404错误
找不到页面。
请求的控制器无法分派请求
控制器:
查找\控制器\查找
我已经找过了,但是我找不到。
在ZF2中,限制对控制器中操作的访问的最佳方式是什么?
我想要的是,如果请求来自某个特定的操作,则只调用控制器中的某个操作(位于不同的模块中)——如果不是重定向到404。
我知道我可以用
$this->getRequest()->getUri()->getPath()
获取当前URL,但我想要的是上一个?
我可以将其放入会话变量中,或者将其作为参数传递到路由中,但有更好的方法吗?
原因是我有一个多步骤表单,如果用户来自步骤1,我希望只允许步骤2,
简而言之
public function testAction() {
$html = '<div>
<table>
<tr>
<td class="foo">
<div>
Lorem ip
我正试图从另一个模块B调用我的模块a的函数。我是通过在模块B的控制器中创建模块a的控制器的实例来实现的。虽然我可以调用此函数,但它无法访问任何以get开头的函数,如getServiceLocator()、getRequestUri()。
所有这些错误都是在我尝试跨模块而不是单个模块工作时出现的。
我该如何处理这件事
class IndexController extends AbstractActionController
{
public function indexAction()
在我的数据库中有一个表myuser。我有usr\U id、usr\U用户名、usr\U密码等字段
但是ZfcUser总是尝试保存用户名、密码等
如何为ZfcUser定义自定义列名
我使用的是Zend/DB/Tablegateway您使用的是条令还是Tablegateway?我使用的是Zend/DB/Tablegateway可能与
我一直在努力将Zend Framework 2项目的部署自动化到Zend服务器
Zend服务器正在AWS实例上运行。
我们正在使用弹性实例运行Atlassian Bambol OnDemand
zdpack ZPK
我一直在使用zdpack创建一个.zpk,我可以手动将它部署到服务器上。因此,我的假设是,该方案是正确的
zs客户端
根据Zend的docs()和Matthew Weier O'phinney的blog(),我一直在尝试使用zs客户端来管理部署
我已经从命令行尝试了installAp
我们尝试插入的数据是否在尝试单元测试时实际插入
$phpunit
塞巴斯蒂安·伯格曼的PHPUnit 3.7.21
从C:\xampp\htdocs\health360\module\Album\test\phpunit.xml读取配置
←[41;37mF←[0m
时间:0秒,内存:8.75Mb
有1次失败:
1) AlbumTest\Controller\AlbumControllerTest::TestIndexAction可以访问
断言响应代码“302”失败,实际状态代码为“200”
C:
我正在尝试用zf2配置phpseclib
我指的是我安装的作曲家。
我将包保存在vendor/phpseclib中
内部供应商/编写器=>
<?php
// autoload_namespaces.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'Zend\\' => $vendorDir . '/zendframew
我可以通过以下方式包括.less文件:
<link rel="stylesheet/less" type="text/css" href="<?= $this->basePath('backoffice/less/master.less') ?>">
创建此链接的步骤
您应该能够做到:
->prependStylesheet(数组(
'rel'=>'stylesheet/less',
'type'=>'text/css',
'href'=>$this->bas
我想使用zf2从第一个表和第二个表中选择字段进行简单的联接,但当我尝试将字段数组放入columns方法时,会出现一个错误(“语句无法执行”)
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function (Select $select) {
$select->columns();// ->with params gives an 'Statement c
为什么params插件魔术功能默认转发路由
为什么zf不能从下面的示例这样的参数中获取函数
public function __invoke($param = null,$type='Route', $default = null)
{
if ($param === null) {
return $this;
}
$type = 'from'.ucfirst($type);
// Need to check function exist, if
如何在视图中访问zend数据库连接
在我的例子中,my USERS index.phtml显示所有用户的列表,并使用多种语言注册用户,这些语言以JSON格式存储在数据库中
这是索引
return new ViewModel(array(
'users' => $this->getRegisterTable()->fetchAll(),
));
和inside index.phtml
<?php foreach ($user
我是ZF2的新手,对于应该是什么样的基本想法,我有一些问题
我正在使用ZfCommons用户模块进行身份验证,它已经安装并且运行正常
现在我想验证用户是否基于此从我的控制器登录(但我不知道如何注册控制器插件,我当前收到以下错误:
Zend\Mvc\Controller\PluginManager::get was unable to fetch or create an instance for ZfcUserAuthentication
我的控制器如下所示:
<?php
/**
*
我已将电子邮件地址验证程序添加到我的表单元素中,当我尝试提交类似测试的内容时,它会显示两个错误:
* The input does not match against pattern '/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/'
* The input is not a valid email address. Use the basic forma local-part@hostn
在Zend 1中,将sql记录到FireHP非常简单,只需设置如下:
'db' => array(
'adapter' => 'pdo_mysql',
'params' => array(
'profiler' => array(
'enabled' => true,
'class' => "Zend_Db_Profiler_Firebug"
)
)
我想禁止人们在我的输入上写字符“#”,我如何才能做到这一点?正如@gustimtoolate所建议的,因为如果你只想禁止尖锐的字符,那么最好将其过滤掉。过滤器在验证之前运行,因此您的工作流程如下:
获取字段值
删除所有出现的字符#
使用附加的验证器验证字段
你想要使用的过滤器是。如果您通过提供程序接口提供过滤器/验证器,那么数组符号应该如下所示(它未经测试,因此您可以稍微使用它)
使用类似于[^#]()的模式的RegEx验证器类怎么样?你试过什么?也许你可以过滤输入字段而不是验证它?更多信息
在zend框架中使用引导文件,但不理解为什么需要这个文件而不需要这个文件,这会对编程操作造成任何重大影响吗 Bootstrap.php允许对Zend项目进行一些高级修改。它用于加载所有或大部分控制器、视图等使用的公共组件或资源。它类似于common.php文件,我们可以在非框架项目中使用它
在bootstrap中,您将在执行任何其他操作之前执行的初始代码放在这里,您可以进行自动加载、初始化插件、设置datetimezone等操作
Zend Framework中有两种类型的引导文件,一种具有项目级
我尝试在模型中设置cookie,但它似乎不起作用。有什么想法吗
$header = new \Zend\Http\Header\SetCookie();
$header->setName('Token');
$header->setValue($token);
$header->setPath('/');
$header->setDomain('localhost');
$header->setExpires(time()+(3600*24*365));
$cli
如果在myModule.php中进行检查,需要抛出错误并重定向到错误页面
有人能告诉我怎么处理这件事吗
$eventManager->attach(MvcEvent::EVENT_ROUTE, function ($e) use($serviceManager, $capture)
{
if($foo == null) {
throw new \Exception("
}
}
虽然这需要在module.config中映射错误模板,但应该可以做到这一点:
$
我能够使用Zend 2 Module AssetManager()使用以下代码块缩小CSS文件,但缓存有问题。如何配置它以缓存CSS文件
我在Firebug中看到CSS文件的HTTP状态为200 OK。如果CSS文件被缓存,则不应修改它
请注意,ApacheWeb服务器对“public”目录和目录中的任何内容都具有读写权限
'asset_manager' => array(
'resolver_configs' => array(
'paths' =>
我有一个最佳实践问题
Post/Redirect/Get的作用很清楚,但处理它们的最佳实践是什么
我认为有两种方法来处理它们
一,。我们首先在控制器动作时调用prg插件
2.我们首先验证post数据,如果成功,则仅重定向到prg响应
我的问题是,至少
一,。由于重定向,我们扩大了响应时间,这是默认的,所以我认为不是最好的解决方案
二,。将在每次验证表单时创建开销
你的意思是,除了这个案子,更好的解决办法是什么
问候
更新:
我的意思是,正常的标准情况是这样的-
这意味着,在每个表单提交之后都会执
你用什么样的名字来命名课程?例如,位于文件夹user/service中的具有名称空间user\service的用户服务:
类用户
类用户服务
首先,我使用第一个选项是因为目录,很明显它是一个服务。但是后来我看到了以下使用我的服务的例子,比如控制器
namespace User\Controller;
use User\Service\User;
class UserController {
public function __construct(User $userService)
我刚刚进入Zend Framework 2。在文档的各个部分中,他们讨论了“可遍历对象”。这是什么意思
到目前为止,我在使用框架时遇到的所有配置都是使用(通常是嵌套的关联)数组实现的。可遍历对象是实现迭代器或迭代器聚合接口的对象。该对象可以在foreach循环中使用。您可以在此处阅读有关可遍历接口的内容:
这是一个抽象接口,所以您无法实现自己的可遍历接口,但您可以通过检查可遍历的对象实例来确定对象是否可遍历(实现迭代器或迭代器聚合接口)
我需要我的Zend表单上的2个提交按钮。一个将保存表单数据,第二个将是返回表单第一页的编辑功能。这就是我创建提交表单按钮的方式
$this->add(array(
'name' => 'editaction',
'type' => 'submit',
'options' => array(
例1:
例2:
当我使用ex1时,我的代码停止并返回,没有运行return false;
与ex2下面的代码相同,返回false ran。
请帮帮我,为什么会这样???在ex1中返回false。因此调用$this->redirect()->toRoute(..)将运行,然后该函数的执行将结束
在ex2中,您定义了一个函数myTest(),因此返回$this->redirect()->toRoute(…)退出myTest()函数,返回值为toRoute()
然后,下一行代码return false
我正在尝试使用ICU使用Zend的CurrencyFormat格式化货币值。基本上它是工作的-模式是0。输出正确的格式,如
1200,00欧元
如果次要单位部分为零,是否可以通过修改模式来省略它?我希望获得以下格式化结果:
如果次要单位为0.00,则为1.200欧元
1.200,34欧元,如果minour单位不是0.00
我认为通过修改模式是不可能实现的。我的意思是,你们可以检查提供的数字是浮点型还是int型。若它是int型,你们可以设置不同的模式,但有一种更简单的方法更推荐IMO。
_u_in
如何在zend framework 2中更改数据库配置。尝试在config/autoload/local.php中编辑数据库名称时,在旧应用程序上工作时没有给出任何错误
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=backend;host=localhost',
'driver_option' => array(
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 38 页