小编Dev*_*per的帖子

使用zend框架的多语言内容管理网站(CMS)

虽然我找到了很多与此问题相关的资源,但它们都没有使用Zend Framework正确地给出多语言CMS的答案.

zend framwork中有许多z end translate适配器.但是最需要数据库(mysql)驱动的网站的那个(zend sql adapter)还没有发布.

对于那些不是数据库驱动的多语言网站,内容可以放在文件(xml,mo或任何其他)中,其中一个zend翻译适配器用于处理内容以显示正确的语言.

我们将如何处理数据库驱动的多语言网站?以前我们习惯使用php设计精良的多语言数据库,将每篇文章(页面)保存在表格中,并包含所有必需的翻译.如果我们通过使用zend框架来做同样的事情,那会是过度杀戮还是慢速网站?我们仍然使用zend缓存来加快速度,但我们无法利用zend translate.稍后,当用于sql的zend翻译适配器可用时,通过使用zend translate可以很容易地切换多语言内容管理系统.

有没人试过这个?什么可能是职业选手和玉米?

另一个解决方案是保持我们良好的设计多语言数据库,并在管理区域中使用GUI在每个更改管理员生成基于xml的语言文件.然后使用zend translate adapter之一来处理这些xml文件.我想这可能是矫枉过正的,用大炮杀死一只鸟:)

当我谈论将整个页面的内容放在数据库中时.它可以包含一些html标签,如b,span,br,p等.zend翻译如何处理内容与html标签?

如果某人之前已经实现了这一点,那么使用zend框架处理多语言内容管理网站的最佳方式可能是什么.

任何专家意见!

php mysql multilingual zend-framework content-management-system

8
推荐指数
1
解决办法
1467
查看次数

mysql显示phpmyadmin中用户定义函数的列表

如何使用phpmyadmin查看mysql数据库中用户定义函数的列表.

Mysql数据库已从一台服务器迁移到另一台服务器,用户定义的自定义功能无法正常工作.我需要查看用户定义函数列表,以检查它们是否存在于数据库中.

Fatal error: db::execute() Could not execute: FUNCTION database.xxx does not exist (SQL: SELECT Function(field) FROM users in file.php on line xx
Run Code Online (Sandbox Code Playgroud)

mysql function

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

ControllerPlugin类中的ZF2 getServiceLocator

我试图在插件类中获取服务定位器/实体管理器,我该怎么做到.

在我的控制器中,我得到这样的.

public function getEntityManager()
{
    if(null === $this->em){
        $this->em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
    }
    return $this->em;
}

public function setEntityManager(EntityManager $em)
{
    $this->em = $em;
}
Run Code Online (Sandbox Code Playgroud)

但是在插件类中,我在$ this-> getServiceLocator()行上遇到错误.因为这在插件类中不可用.

我怎样才能这样做,以便我可以获取一些记录并在插件中插入少量数据库.

我的插件类中有MvcEvent $ e对象,我可以利用它来获取实体管理器吗?

我用这个插件来创建我的插件

任何指南都会受到关注.

更新:

namespace Auth\Controller\Plugin;

use Zend\Mvc\Controller\Plugin\AbstractPlugin;
use Zend\EventManager\EventInterface as Event;
use Zend\Authentication\AuthenticationService;

use Doctrine\ORM\EntityManager;
use Auth\Entity\User;
use Zend\Mvc\MvcEvent;
class AclPlugin extends AbstractPlugin
{

    /*
    * @var Doctrine\ORM\EntityManager
    */
    protected $em;

    public function checkAcl($e)
    {

        $auth = new AuthenticationService();
        if ($auth->hasIdentity()) {
            $storage = $auth->getStorage()->read();            
            if …
Run Code Online (Sandbox Code Playgroud)

php zend-framework2

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

ZF2如何从控制器外部获取实体管理器

我们可以使用控制器访问实体管理器 $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');

但是我们怎样才能在Zendframework 2中的项目的其余部分访问实体管理器单例实例.

zend-framework2

6
推荐指数
1
解决办法
9540
查看次数

zf2控制器中的init方法

在Zendframework 1中,我们使用init()方法初始化控制器中的东西.我看到这是从zenframework 2中取出的.为什么?什么是在zf 2中实现相同功能的最佳方法.我正在升级我在zf1中开发的先前项目,我可以看到zf2中的事情与zf1相比发生了很大变化.

是否有任何其它的ZF2变化,他们的方式,我们使用其他方法,如preDispatch()postDispatch()在ZF1?

有谁经历过这个?

zend-framework zend-framework2

6
推荐指数
2
解决办法
9288
查看次数

如何在zf2中获取控制器和操作名称

在zf1中,我们可以使用获取控制器和动作名称

$controller = $this->getRequest()->getControllerName();
$action = $this->getRequest()->getActionName();
Run Code Online (Sandbox Code Playgroud)

我们如何在zf2中实现这一目标?

更新:我试图让他们使用

echo $this->getEvent()->getRouteMatch()->getParam('action', 'NA');
echo $this->getEvent()->getRouteMatch()->getParam('controller', 'NA');
Run Code Online (Sandbox Code Playgroud)

但我收到了错误

Fatal error: Call to a member function getParam() on a non-object
Run Code Online (Sandbox Code Playgroud)

我喜欢在__construct()方法中获取它们;

理想情况下,我想检查是否没有定义Action将执行noaction()方法.我会检查使用php方法method_exists.

php zend-framework2

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

如何在zendframework2中使用partial

在ZF1中,我们在layout.phtml文件中使用partial

$this->partial('header.phtml', array('vr' => 'zf2'));
Run Code Online (Sandbox Code Playgroud)

我们如何在ZF2中做同样的事情?

php partials view-helpers zend-framework2

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

zf2创建选择/下拉框并在控制器中填充选项?

要创建一个文本输入框,我在zend framework2中使用了folling代码

use Zend\Form\Form;

class Loginform extends Form
{
    public function __construct()
    {
           $this->add(array(            
            'name' => 'usernames',
            'attributes' =>  array(
                'id' => 'usernames',                
                'type' => 'text',
            ),
            'options' => array(
                'label' => 'User Name',
            ),
        ));       
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用控件操作填充值

$form = new Loginform();
$form->get('usernames')->setAttribute('value', 'user 1');
Run Code Online (Sandbox Code Playgroud)

知道如何在zf2中的选择/下拉框中执行相同的操作?

参考:zend框架2文档

zend-framework2

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

实体在Zend Framework 2中使用Doctrine 2在实体中使用inputfilter进行验证

我一直在Entity类中构建我的所有验证,就像这样......

class User 
{
    protected $inputFilter;

    public function getInputFilter()
    {
        if (!$this->inputFilter) {
            $inputFilter = new InputFilter();

            $factory = new InputFactory();


            $inputFilter->add($factory->createInput(array(
                'name' => 'username',
                'required' => true,
                'filters' => array(
                    array('name' => 'StripTags'),
                    array('name' => 'StringTrim'),
                ),
                'validators' => array(
                    array(
                      'name' =>'NotEmpty', 
                        'options' => array(
                            'messages' => array(
                                \Zend\Validator\NotEmpty::IS_EMPTY => 'User name can not be empty.' 
                            ),
                        ),
                    ),
                    array(
                        'name' => 'StringLength',
                        'options' => array(
                            'encoding' => 'UTF-8',
                            'min' => 4,
                            'max' => 20,
                            'messages' => array( …
Run Code Online (Sandbox Code Playgroud)

php zend-framework2

5
推荐指数
1
解决办法
6899
查看次数

在按钮的样式属性中反应 Material UI 条件语句

我需要在按钮的 style 属性中有一个条件。这是我的代码此时的样子。

  <Button variant="outlined" component="span" className={classes.button}>
    Choose file
  </Button>
Run Code Online (Sandbox Code Playgroud)

我需要有这样的条件。

      <Button variant="outlined" component="span" className={classes.button}
style={{display: ((this.props.filename === true)? 'none' : 'block') }}
>
        Choose file
      </Button>
Run Code Online (Sandbox Code Playgroud)

知道我怎样才能做到这一点吗?

参考:https : //material-ui.com/api/button/

reactjs material-ui

5
推荐指数
1
解决办法
5290
查看次数