小编jbl*_*lue的帖子

建筑决策:主要网站,论坛,博客

我已经就项目的设置进行了咨询,并希望将某些想法从某人身上反复出来以获得额外的意见.

这个网站的主要部分非常复杂,并且具有非常自定义的功能,所以从我看来它更像是一个webapp.但是需要一个博客,还需要一个论坛.这是该项目的总体概述.

因为网站的主要部分更像是一个webapp,我认为这个项目应该分成由不同框架和CMS处理的单个部分,以便每个组件不限制其他组件.这是一个非常难以出售的决定,因为没有人想要维护不同的框架和CMS,除非这对他们来说真的是正确的事情.

我的逻辑是,因为网站的主要部分实际上是一个复杂的webapp,试图将它装入像Drupal或Joomla这样的CMS,或者任何会增加开发时间和成本的东西.这部分是有意义的,使用更灵活的技术,如Zend Framework或Symfony创建,基本上是一个框架而不是CMS.

对于其他组件,我没有看到使用框架的重点,因为其中许多是标准组件,如博客和论坛.所以对于网站的其余部分,我的选择是1)用我熟悉的单个CMS(比如Drupal)构建所需的一切,但是因为我已经走了划分网站的道路,我想选项2)为什么不进一步划分网站,为每个组件选择最好的软件.例如Drupal并没有成为一个很棒的论坛.这不是它的力量所在.

事实证明,参与撰写博客的人大多不是为论坛做贡献的人,所以我认为我不应该担心在两个独立的软件上培训相同的员工.

但是我无法决定这个网站的可维护性.一方面我认为维护三种主要的不同技术将更加困难:应用框架,专业论坛软件(建议欢迎)和专业博客软件(建议欢迎),但另一方面,我认为这可能实际上更容易维护,因为网站的一部分可以更容易地被删除或更改,而不会影响其他一切.

这是我的总体想法,但我担心它可能很难销售,因为它可能看起来像我试图使项目复杂化.我确实认为这种方法实际上简化了它.那么对此有何看法?有没有我没有充分考虑的问题?如果您遇到相同类型的问题,您会以相似或不同的方式做出哪些架构决策?

php language-agnostic forum zend-framework

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

Zend验证器和错误消息:addValidator和addErrorMessage

如果我有一个附加了多个验证器的表单元素(在本例中为3),addErrorMessage当每个唯一验证器失败时,如何使用它来创建自定义错误消息.有没有办法为每个验证器添加自定义消息?

$element = new Zend_Form_Element_Text()...
$element->....
        ->addValidator(...)
        ->addValidator(...)
        ->addValidator(...)
        ->addErrorMessage()
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form zend-form-element

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

zend视图:bootstrap(视图)或bootstrap(布局)

这些是引导程序中与引导视图相关的_init函数的两种不同实现.

一个人立即进入视野:bootstrap('view')然后将其作为资源获取

$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML1_STRICT');
Run Code Online (Sandbox Code Playgroud)

另一个通过布局需要更长的路线 bootstrap('layout')

$this->bootstrap('layout');        
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->doctype('XHTML1_STRICT');
Run Code Online (Sandbox Code Playgroud)

我不想仅仅因为它更长时间来判断较长的代码是低效的.它是通过第layout一次而不是立即击中而增加的view吗?

php zend-framework zend-view

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

Zend db adapter mysqli或PDO_MYSQL

我在application.ini中看到了几个代码示例

resources.db.adapter = mysqli

or 

resources.db.adapter = PDO_MYSQL
Run Code Online (Sandbox Code Playgroud)

这两者之间真正的区别是什么?它会影响我的代码吗?我何时应该选择其中一个?

php mysql database zend-framework zend-db

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

默认情况下将propel设置为日期格式getDate("Ymd"),以便更好地使用zend toArray()

我的查询返回一个具有日期字段的对象

$obj = ObjectQuery::create()->findPK(11);
Run Code Online (Sandbox Code Playgroud)
  • var_dump($obj)向我显示日期字段,yyyy-mm-dd就像它在数据库中一样
  • $obj->getThedate();改变mm/dd/yy我不想发生的格式
  • $obj->getThedate("Y-m-d"); 在数据库中给我相同的格式 yyyy-mm-dd

因此,为了使数据以相同的格式存储在数据库中,我需要在获取特定日期字段时设置格式,如第三行.

问题是我没有单独阅读日期字段.我将整个$ obj作为一个整体并使用Zend将其转换为数组toArray(),因此我无法控制如何toArray()读取日期字段.有没有办法将Propel设置("Y-m-d")为默认格式?可能在prople配置设置中有什么东西?

php orm propel doctrine zend-framework

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

好的PHP验证库

我正在尝试找到一个不断维护的良好验证库(电话,电子邮件等)的列表.我使用PHP并且对框架中的库开放,但是如果你从框架中推荐一个库,请说明它是否允许你在没有框架的情况下使用它?

php email validation input

3
推荐指数
1
解决办法
2371
查看次数

创建zf自定义命令,如zf create form

当我使用zend CLI创建表单时,会生成表单并将其添加到表单文件夹中.

zf create form MyForm
Run Code Online (Sandbox Code Playgroud)

我有一个自定义类,我想以相同的方式为它创建一个自定义命令,并希望查看zf create form命令以获得指导.我怀疑它在Zend_Framework/bin中有shell,php,bat文件,但是我找不到任何与表单类创建有关的代码,也许我错过了?

无论如何,有没有更好的完成同样的事情?像Zend API,让我自己创建一些这些命令?如果不是,我唯一的选择是看看是如何zf create form创建的.

php zend-framework zend-form

3
推荐指数
1
解决办法
516
查看次数

Zend链接助手存在吗?

其他一些框架有一个链接帮助器,output_link('anchor', 'destination');可以替换键入<a href=""></a>模板的需要.Zend有类似的东西吗?在我可以在查看器中使用它之前,我是否必须首先声明操作中的链接?

php zend-framework

3
推荐指数
1
解决办法
2902
查看次数

文件上传:大小验证器或setMaxFileSize()

对于Zend_Form_Element_File,添加Size验证器和使用setMaxFileSize之间有什么区别吗?

$file->addValidator('Size', false, 1000000);

$file->setMaxFileSize(1000000);
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form zend-form-element

3
推荐指数
1
解决办法
2093
查看次数

application.ini只有$ this-> getOptions()

我注意到$config = $this->getOptions();只获取默认application.ini文件的设置.如果我有其他ini文件,我该如何判断getOptions它们?

php zend-framework

3
推荐指数
1
解决办法
496
查看次数