问题标签 [cakephp-2.3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plugins - 来自不同插件的重复控制器名称
我对 Cakephp2.3 的文件加载系统有疑问。
我有两个插件 - 我们称它们为“联系人”和“经理”,加载如下:
它们每个都有一个名为“DashboardController.php”的控制器,带有一个 index() 操作。
当我尝试访问“联系人”的仪表板页面时,有时会看到以下错误:
即使网址看起来像这样:
我读到 Cakephp2.3 不支持命名空间,这可能会发生,因为我有两个同名的 php 类 (DashboardController.php)。同时,我知道 Cake 应该先映射插件名称,所以它应该能够处理重复的文件名。
你知道为什么我会看到这个随机错误吗?
谢谢你的帮助。
cakephp - CakePHP:缓存视图的内容类型标头
在 CakePHP 中,我有一个 rss 视图,它在http://example.com/file.rss
. 因为Router::parseExtensions('rss')
内容被正确处理为 xml/rss。
现在我$this->cacheAction
用来缓存请求。一切正常:生成 rss 内容并在第一次请求后创建缓存文件。
但是会出现以下问题:第一个请求返回一个header Content-type: application/rss+xml
(这是正确的)。第二个请求(这是缓存视图的结果)返回一个完全不同的 header Content-type: text/html
。但为什么?如何确保始终获得 rss 标头?
我正在使用最新版本的 CakePHP 2.3。
我已经尝试default.ctp
通过添加在 rss 布局文件中设置标题
和类似的代码片段,但没有成功。响应头仍然是 html 内容类型。
php - 检查数组中的空值
我有下一个数组(一个 CakePHP 数组):
我想知道某些字段是 NULL 还是空的(比如country
or city
)。我试过这个:
在我的控制器中:
在我看来
但这不起作用。我需要知道其中的任何字段$fields
是否为 NULL 或空。
php - Cakephp - saveAll 和 beforeSave
由于 CakePHP 更新到 2.3.5,我无法保存数据。我不想保存不包含价格的数据。
我的模型中的 beforeSave 方法如下所示:
自从我更新以来,我在 /lib/Model/Model.php (l. 1751) 中找到了这个
如果我评论这 3 行,我的问题就解决了。您知道我的 beforeSave 中不阻止我保存的方法吗?
如果我使用数据验证,我的所有数据都不会用我的 saveAll 保存。
示例模型“选项”验证器:
要保存的示例数据:
saveAll 在我的控制器“Commande”中(返回 false):
我希望将我的数据保存在模型“选项”=> 3 的最后一行中。我可以在控制器中使用 foreach 删除空白行,但我可以做得更好吗?
cakephp - 用户会话和两个 CakePHP 应用程序在同一台机器上运行
我有2 个 CakePHP 应用程序在同一台机器上运行。他们都需要事先注册才能访问它们,用户首先看到的是登录表单。
我已经意识到,当我登录其中一个时,我可以访问另一个 Web 应用程序,而无需询问我的登录凭据。(这是不正确的)
在我的两个应用程序的控制器中,我都可以在没有以前登录的情况下拒绝访问。
但是,当我使用相同的浏览器并且确实登录其中一个应用程序时,这似乎无法正常工作。
为什么会这样?有没有办法解决这个问题?
谢谢。
php - 在 cakePHP 2.x 中使用虚拟字段
我已经阅读了文档并努力了解该怎么做。另外,我已经阅读了有关 stackoverflow 的问题,但我尝试过的没有任何帮助。
我有一个下拉列表,我想列出公司的所有员工。该列表应显示如下:
在我的模型中,我有这段代码:
在我的控制器中,我有这个:
但我得到这个错误:
我必须改变什么?我可以看到它正在构建查询,但它正在改变它非常糟糕......
有人可以帮忙吗?
php - 为什么插件应该从应用程序扩展基类?
如果您阅读了有关创建插件的 CakePHP 文档。它清楚地说明了PluginAppModel
和基类是从和PluginAppController
类扩展而来的。使用插件在应用程序中实现。AppModel
AppController
这对我来说似乎非常冒险。
插件无法控制应用程序可能在这些基类中配置的回调、组件、助手等。
PluginAppModel
让您的/PluginAppController
仅扩展 CakePHP 库中的基类是否有任何问题。喜欢Model
和Controller
?
有人可以解释为什么插件应该扩展这些应用程序特定类的逻辑吗?
php - 树行为因“语法错误或访问冲突”而在保存时失败
我无法使用 Tree 行为保存记录。如果记录的 parent_id 更改,则保存将失败。
我的CmsPost
模型看起来像这样。
保存记录工作正常。SQL 转储在历史记录中显示此更新。
更新
cgtag
。cms_posts
SETtitle
='其他东西',key
='其他东西',desc
='',content
='',parent_id
= NULL,status
='评论',image_count
= 0,published
='2013-02-03 17:39:00',created
='2013-02 -03 17:42:00',updated
='2013-02-03 17:47:00' 在哪里cgtag
。cms_posts
.id
='1'
问题是afterSave
Tree 行为中的回调因此错误而失败。
WHERE
条件不对。为 设置了值left_id
。
我不知道如何解决这个问题。
php - 如何测试 cakephp parseExtension?
parseExtension
我在我的 cakephp 2.3.0 中设置了for json。没有错误显示。有用?
我该如何测试?
在 RoR 中很容易通过以下方式进行测试
它如何在 cakephp 上运行?
我的 View-Action 是这样的。
为什么我总是收到一个 json 请求?
validation - 如何让 CakePHP 验证更安全?
最近我完成了关于使用 CakePHP 创建简单博客的教程 - 这里是链接:http ://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html 创建验证表单非常简单快捷,但我注意到一个问题。
名为 post.ctp 的文件包含:
它使用以下输入为最终用户生成表单:
使用 Firefox Firebug 的人可以在提交表单之前将 html 代码从:name="data[Post][title]"
更改为:name="data[Post][author]"
。这样做的结果将更新名为“作者”的列,而不是“标题”,并且还允许使用“标题”的空数据更新数据库。
在 Post.php 中名为“模型”的文件夹中,验证规则不会阻止:
如何保护我的应用程序并且不允许某人更新数据库中的其他列?