标签: zend-framework

重定向到zend框架中的上一页

我想在登录页面中为我的登录表单操作(作为查询)添加重定向URL,因此在登录后,可以访问他或她正在浏览的上一页.

首先,我考虑使用Zend Session并将每个页面的url保存在变量中.但我在文档中读到它有开销.那么,有更好的方法吗?或者是否有其他方式使用zend会话而没有开销?

url session redirect zend-framework

29
推荐指数
3
解决办法
5万
查看次数

PHP中的线程?

我正在使用zend创建一个Web应用程序,在这里我创建了一个接口,用户A可以从该接口向多个用户发送电子邮件并且它工作正常,但它会缩短执行时间,因为用户A等待太多"已确认的回复"(将在电子邮件发送后显示).

在Java中有"线程",通过它我们可以执行该任务(发送电子邮件)并且它不会减慢其余应用程序的速度.

在PHP/Zend中是否有任何技术就像在Java中一样,我们可以将我们的任务分开,这可能需要很长时间,例如:发送电子邮件.

php multithreading zend-framework

29
推荐指数
2
解决办法
4万
查看次数

为什么Zend Framework如此受欢迎?

我不是一个巨魔,我的目标不是开始一场火焰战; 我不是不尊重Zend框架的作者:它有很多很好的工作.但是......我有一份工作要完成,而且我很难协调ZF的受欢迎程度与使用它构建应用程序的现实.我真的想知道其他人为什么使用Zend Framework.

我对PHP世界还很陌生,但我已经用很多语言做了很多编程.在阅读了许多教程并在其中构建了几个应用程序后,一些核心Zend Framework工具对我来说就像是alpha代码.对我来说,下面的根本性缺陷,等等,似乎过于庞大考虑部署它的应用程序-但一遍又一遍的ZF建议为一体的,如果不是领先的框架.

首先让我说我发现ZF的大部分是可行的.路由工作非常适合,布局工具是可维护的(虽然与模板系统(如JSP/ASP)非常不同),缓存设施等也是如此.社区中似乎有一种趋势,即填充大量建模(例如验证)和查看逻辑(例如$ this-> headScript() - 为什么我的控制器必须关心我的视图需要哪个js文件?)到控制器中但可能是使用问题而不一定是框架的错误.

现在,我在短时间内遇到了一些非常严重(IMO)的弱点.如果我继续用它构建,我会想象未来我会发现的其他领域.

1.表单布局
许多人似乎对缺乏对表单布局的控制感到不满.你怎么能有一个流行的框架,构建一个简单的表单需要这么多的讨论? 问题1问题2.

2.认证/授权
似乎没有人真正理解如何简单地执行例行认证/授权.人们[包括你的人]真正努力实现简单的访问控制.此外,该方法似乎依赖于持久性的序列化,而不是传统的用户和权限的数据库存储. 一个令人困惑的例子,一个建议,增加设施,教程-第一部分, 和第二部分.这是太多的工作家伙!

我认为的弱点是不真实的还是某种程度上不是问题?为什么或者为什么不?你为什么选择Zend Framework(或不)?您是否发现其他区域如此痛苦以至于您想要将ZF转换为其他方法?谢谢你的意见.

php zend-framework

28
推荐指数
4
解决办法
1万
查看次数

PHP:如何重命名使用Zend_Form_Element_File上传的文件?

形成:

//excerpt
$file = new Zend_Form_Element_File('file');
$file->setLabel('File to upload:')
    ->setRequired(true)
    ->addValidator('NotEmpty')
    ->addValidator('Count', false, 1)
    ->setDestination(APPLICATION_UPLOADS_DIR);
$this->addElement($file);
Run Code Online (Sandbox Code Playgroud)

控制器:

//excerpt
if ($form->isValid($request->getPost()) {
    $newFilename = 'foobar.txt';
    //how should I rename the file?
    //When should I rename the file? Before or after receiving?
    try {
        $form->file->receive();
        echo 'filename: '. $form->file->getFileName();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 当我调用$form->file->getFileName()它时,返回完整路径,而不仅仅是文件名.如何仅输出文件名?

    //Answer: First, get an array of the parts of the filename:
    $pathparts = pathinfo($form->file->getFileName());
    //then get the part that you want to use
    $originalFilename = $pathparts['basename'];
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何将文件名重命名为我想要的名称?这可以 …

php zend-framework file-upload zend-file

28
推荐指数
3
解决办法
3万
查看次数

Zend Framework:控制器对象中init()和preDispatch()函数有什么区别?

我认为执行的顺序是init(),preDispatch()然后调用action().

  1. 我应该在init()或preDispatch()中初始化我的所有操作中常见的变量吗?我见过有人使用这两个函数进行初始化.可能顾名思义它应该在init()中完成,但是在preDispatch()中会有什么样的东西?

  2. init()和preDispatch()函数调用之间会发生什么?

php zend-framework initialization

28
推荐指数
2
解决办法
2万
查看次数

DLTK索引正在进行中

我们的软件为我们的业务提供了近16,000个PHP文件.这是一个绝对庞大的系统.Zend Studio需要几个小时来运行DLTK索引.

我无法找到最新的响应,但必须有一种方法可以禁用它,或将其限制在特定的目录中.

此外,这个过程到底在做什么?

谢谢.

eclipse zend-framework zend-studio

28
推荐指数
1
解决办法
2万
查看次数

如何检测该事务是否已经启动?

我正在使用Zend_Db在事务中插入一些数据.我的函数启动一个事务,然后调用另一个也尝试启动事务的方法,当然也失败了(我正在使用MySQL5).所以,问题是 - 我如何检测到该交易已经开始?以下是代码示例:

       try {
                    Zend_Registry::get('database')->beginTransaction();

                    $totals = self::calculateTotals($Cart);
                    $PaymentInstrument = new PaymentInstrument;
                    $PaymentInstrument->create();
                    $PaymentInstrument->validate();
                    $PaymentInstrument->save();

                    Zend_Registry::get('database')->commit();
                    return true;

            } catch(Zend_Exception $e) {
                    Bootstrap::$Log->err($e->getMessage());
                    Zend_Registry::get('database')->rollBack();
                    return false;
            }
Run Code Online (Sandbox Code Playgroud)

在PaymentInstrument :: create中,还有另一个beginTransaction语句,它产生一个异常,说明该事务已经启动.

php mysql pdo zend-framework transactions

27
推荐指数
2
解决办法
2万
查看次数

Zend Framework:如何故意抛出404错误?

我想故意在我的Zend Framework应用程序中的一个控制器中导致404错误.我怎样才能做到这一点?

zend-framework http-status-code-404

27
推荐指数
1
解决办法
2万
查看次数

PHPUnit输出导致Zend_Session异常

我收到的错误很多,就像这个:

Zend_Session_Exception: Session must be started before any output has been sent to the browser; output started in /usr/local/zend/share/pear/PHPUnit/Util/Printer.php/173
Run Code Online (Sandbox Code Playgroud)

运行我的应用程序的测试套件时.这是PHPUnit 3.5.10和PHP 5.3.5.

没有神秘的,意外的空白输出导致这种情况.我已经确定"发送到浏览器的输出"是正在执行的PHPUnit测试的实际输出.如果我打开PHPUnit/Util/Printer.php并print $bufferif (strpos($buffer, 'PHPUnit 3.5.10 by Sebastian Bergmann') === false)(包括从PHPUnit中有效地停止输出的第一行)包装该行,那么我的第一个测试成功(直到测试用例输出一个指示测试成功的点,然后是下一个测试失败,因为输出了点).

我团队中的另一位开发人员能够成功运行完整的测试套件,因此我知道这不是应用程序代码的问题.它必须是我的本地环境的一些配置设置或问题.

我已经检查过php.ini来验证是否output_buffering已打开并implicit_flush关闭,它们是.

我也尝试添加Zend_Session::$_unitTestEnabled = true;到我的测试引导程序,但这没有帮助(并且不应该是必要的,因为它适用于另一个开发人员的机器和我们的CI服务器上没有它).

除了忽略错误之外的任何建议?我从来没有见过这样的东西,我真的很茫然.

谢谢!

更新:

为了尝试进一步隔离问题,我通过执行以下测试脚本将ZF和我的应用程序排除在外:

<?php

class SessionTest extends PHPUnit_Framework_TestCase
{
    public function testSession()
    {
        session_start();
        $this->assertTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

测试失败:

1) SessionTest::testSession
session_start(): Cannot send session cookie - headers already sent by (output started …
Run Code Online (Sandbox Code Playgroud)

php phpunit zend-framework zend-session

27
推荐指数
2
解决办法
7081
查看次数

PHP OPcache优化级别 - 它们是什么?

有一个opcache.optimization_level php.ini指令.它是默认的位掩码0xffffffff- 因此默认情况下OPcache会执行所有优化.

OPcache做了哪些优化?传递字节码的是什么?

后续问题:OPcache可以很好地优化代码模式吗?例如,HHVM可以跳过仅包含类/函数声明的文件的执行,它只填充类/函数表.

php performance zend-framework opcache

27
推荐指数
1
解决办法
7729
查看次数