我正在尝试使用最新技术为学习目的设置一个新的Web应用程序:apache 2.4,PHP 5.4和PostgreSQL 9.1
我选择使用Zend Framework 2进行开发.
在我的主模块中,我定义了这个方法:
public function getServiceConfiguration() {
return array(
'factories' => array(
'adapter' => function ($sm) {
$config = $sm->get('config');
$adapter = new Adapter($config['db']);
return $adapter;
}
),
);
}
Run Code Online (Sandbox Code Playgroud)
$ config ['db']在我的autoload/global.php中定义,其中包含:
return array(
'db' => array(
'driver' => 'PDO',
'dsn' => 'pgsql:host=localhost;port=5436;user=root;password=myrootpwd',
)
);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试调用$ serviceManager-> get('adapter')时,我得到一个异常说:
致命错误:未捕获的异常'Zend\Db\Adapter\Exception\InvalidArgumentException',消息'提供的或实例化的驱动程序对象未在C:\ Program Files\626Suite\application\library中实现Zend\Db\Adapter\Driver\DriverInterface'第294行\ Zend\ServiceManager\ServiceManager.php
Zend\Db\Adapter\Exception\InvalidArgumentException:提供的或实例化的驱动程序对象未在C:\ Program Files\626Suite\application\library\Zend\Db\Adapter\Adapter.php中实现Zend\Db\Adapter\Driver\DriverInterface在80号线上
调用堆栈:
0.0015 121600 1. {main}()C:\ Program Files\626Suite\application\data\script\install.php:0
0.5699 936080 2. Zend\ServiceManager\ServiceManager-> get(string(7),? ??)C:\ Program Files\626Suite\application\data\script\install.php:7
0.5700 936440 3. Zend\ServiceManager\ServiceManager-> …
我的用户表包含以下列和数据.
id | 名字| IS_DELETED
##########################1 | dinu | 1
2 | dddd | 0
我想检查未删除的用户是否存在.我该怎么做?
我在编辑用户处使用以下代码进行检查用户输出is_deleted.现在我想用is_deleted检查用户行.我使用exclude来检查当前用户ID.
$validator = new Zend\Validator\Db\RecordExists(
array(
'table' => 'users',
'field' => 'name',
'exclude' => array(
'field' => 'id',
'value' => $id
)
)
);
if ($validator->isValid($username)) {
}
Run Code Online (Sandbox Code Playgroud)
标准验证文档具有以下代码.但我无法使用它.
$email = 'user@example.com';
$clause = $db->quoteInto('email = ?', $email);
$validator = new Zend\Validator\Db\RecordExists(
array(
'table' => 'users',
'field' => 'username',
'exclude' => $clause
)
);
Run Code Online (Sandbox Code Playgroud)
什么是$ db?它不是适配器.我试试看.请再帮帮我
我重新安装了我的系统,现在当zf2出现错误时我无法在nginx错误日志中看到页面上的错误,display_errors On和display_startup_errors On,在php.ini中,也许是我的php-fpm设置?而在简单的PHP文件不在zf2我已经看到错误!
我正在研究这个教程.我已按照所有步骤创建目录结构,控制器,module.php和module.config.php,但是当我打开时,http://zf2-tutorial/album我收到以下错误:
Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "album/album/index"; resolver could not resolve to a file' in /var/www/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:461
Run Code Online (Sandbox Code Playgroud)
我index.phtml在view/album/album目录中创建了一个名为module目录的文件.
module.config.php:
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
'view_manager' => array(
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'album/album/index' => __DIR__ . '/../view/album/album/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
) …Run Code Online (Sandbox Code Playgroud) 我正在寻找关于在Zend 2中处理本地化的首选方法的教程,但到目前为止我还没有找到任何方法.我能找到的最好的是这个页面,它没有详细解释实现本地化(特别是应用程序消息)的实际过程,或者这个问题,这个问题在Zend 2发布之前被提出并且现在已经过时了.
如果在该页面上给出了选择,请说我选择GNU Gettext作为翻译格式.在这种情况下是否有关于本地化ZF2应用程序的教程?
或者,例如,我将网站上的页面文本存储在数据库表中
CREATE TABLE `page` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
`body` blob,
`locale` int(11) NOT NULL,
`creator` int(11) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `pagecreatorfk_idx` (`creator`),
CONSTRAINT `pagecreatorfk` FOREIGN KEY (`creator`)
REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)
那么如何提供本地化的消息呢?
我已经完成了Zend 2的教程,感觉Zend\Db组件有点失望.实际上,它无法处理外键(作为内置).
如何为现实世界的项目(至少十个不同的表和关系)解决这个问题?
我是否应该考虑尝试或多或少地重写Zend_Db(ZF1)的findDependentRowset或findParentRow?我错了,如果我认为这是不可能的,因为它会打破PHP对象的教条,不知道用Data Mapper模式销售的外部世界.
我是否应该始终认为使用外键/关系的代码在表示实体的对象中无关?这可能最终成为一个美丽的意大利面条代码.
我应该放弃Zend\Db for Doctrine还是Propel?
有没有人有这样的例子:Zend Framework多页表单
但是对于使用Zend\Session的Zend Framework 2?
我知道有很多问题和回答"无法渲染模板",但我的问题有一个转折点.
当我打开此网址时: http://localhost:8080/users/usermanager/index
我收到此错误: Zend\View\Renderer\PhpRenderer::render: Unable to render template "users/user-manager/index"; resolver could not resolve to a file
这完全是罚款,我已改名user-manager来usermanager.我已经抓了我的整个代码,找不到任何参考user-manager了.为什么Zend还在寻找它?
我的module.config.php:
<?php
namespace Users;
return array (
'controllers' => array (
'invokables' => array (
'Users\Controller\Index' => 'Users\Controller\IndexController',
'Users\Controller\Register' => 'Users\Controller\RegisterController',
'Users\Controller\Login' => 'Users\Controller\LoginController',
'Users\Controller\UserManager' => 'Users\Controller\UserManagerController'
)
),
'router' => array (
'routes' => array (
'users' => array (
'type' => 'Literal',
'options' => array (
'route' => '/users',
'defaults' => array (
'__NAMESPACE__' …Run Code Online (Sandbox Code Playgroud) 我刚开始使用Zend框架2.我想为我的Cart模块设置单元测试.
我按照http://framework.zend.com/manual/current/en/tutorials/unittesting.html的步骤进行了操作
当我运行 :/ var/www/AHA/CDP/module/Cart /测试 来自终端的$ phpunit 我得到以下输出:
Sebastian Bergmann的PHPUnit 3.7.28.
配置从/var/www/ZF2Sample/module/Cart/tests/phpunit.xml中读取
Ë
时间:146毫秒,内存:5.50Mb
有1个错误:
1)Cart\tests\Cart\Controller\CartControllerTest :: testIndexActionCanBeAccessed include(/ var/www/ZF2Sample/module/Admin/config /../ view/error/index.phtml):无法打开流:没有这样的文件或目录
/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:506 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php :506 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:205 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:233 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:198 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php :102 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php:112/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager. php:468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php: 352 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:327/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase. php:288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:30468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:352/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:327 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php: 288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:30468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:352/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:327 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php: 288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:30327 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:三十327 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:三十
FAILURES!测试:1,断言:0,错误:1.
下面是我的global.php:
<?php
define('SITE_URL', 'http://' . $_SERVER['SERVER_NAME'].'/');
define('JS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/js/');
define('CSS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/css/');
define('IMG_URL', 'http://' . $_SERVER['SERVER_NAME'].'/img/');
return array(
'cart_webservice_url' …Run Code Online (Sandbox Code Playgroud) zend-framework2 ×10
php ×3
database ×1
jquery-ui ×1
localization ×1
nginx ×1
phpunit ×1
validation ×1
zend-db ×1
zend-form2 ×1