问题标签 [cakephp-4.x]
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.
cakephp - 如何强制 CakePHP 3 和 CakePHP 4 显示弃用警告/通知?
我做了什么
- 有目的地放在
$this->primaryKey('id')
我的 Table 课上 - 在控制器中调用
->find('all')->all()
该表
我所期望的
我屏幕顶部的弃用通知,因为primaryKey()
已弃用。
实际发生了什么
一切正常,没有显示错误
我检查了什么
display_errors
On
在_phpinfo()
error_reporting
32767
又名E_ALL
在_phpinfo()
$this->TESTprimaryKey('id')
引发BadMethodCallException
Unknown method "TESTprimaryKey",这意味着它是正确的表Error.errorLevel
在我的app.php 中设置为E_ALLphp composer.phar upgrade
以防php composer.phar update
万一VERSION.txt
显示3.6.10。所有这一切也适用于4.2.4。
cakephp - CakePHP 3.8 / CakePHP 4 vs CakePHP 2 中原始 SQL 查询结果的数组结构
在 CakePHP 4.0 发布后,我们正在考虑将 CakePHP 2.x 应用程序迁移到 3.8 或 4.0。目前,我们遇到了这个问题:
我们的应用程序使用原始 SQL 语句,有时使用该Model::query()
方法。
例如,这个CakePHP 2代码:
返回
当我们尝试用CakePHP 3.8做同样的事情时
结果是
为了安全迁移:有没有办法让 CakePHP 3.8 / 4 使用与 CakePHP 2 中相同的数组结构返回查询结果?
重写语句以使用 ORM 不是一种选择。上面的例子不是真实的代码——真实的查询更复杂。
cakephp - 未调用 CakePHP 身份验证中间件
我经常使用 AuthComponent,但对 AuthenticationMiddleware 还是陌生的。我几乎完全遵循https://book.cakephp.org/authentication/2/en/index.html,除了用户名字段是用户名而不是电子邮件。但是当我尝试获取需要身份验证的页面时,Cake 会在 AuthenticationComponent::doIdentityCheck() 中抛出 UnauthenticatedException。这可以理解,因为 Cake 应该将我重定向到 /users/login,但它没有。我试过了
在上述所有情况下,Cakes 都会抛出带有消息的 UnauthenticatedException:
没有找到身份。您可以通过将 requireIdentity 配置为 false 来跳过此检查。
http://localhost:8765/users/login也将我带到正确的页面,如果我允许未经身份验证,我也可以通过http://localhost:8765/users/查看用户列表:
我的环境:CakePHP 4.0,认证插件2.0。有没有办法验证 AuthenticationMiddleware 确实已设置并添加到中间件队列中?
cakephp - 如何修复 Cakephp 4 Composer 安装错误
通过 Composer 为 cakephp 4.0 安装所有软件包时遇到问题。使用 PHP 7.4.0 在 Windows 上运行全新的 wamp 服务器安装
这是作曲家的输出。使用 cakephp 文档中的命令。
基本 cakephp 安装在 /myapp 文件夹中,但想知道错误以及是否需要它们(如果需要如何解决?)
这是创建的composer.json:
谢谢!
cakephp - Cakephp 4 Url->使用数组构建会引发找不到路由错误,但不是字符串
我正在尝试使用前缀路由设置 cakephp 4。在我的 home.php 中,我设置了以下代码(关注“Serving Ones”下的 html a href 标签):
我的 routes.php,底部,在 cakephp 自动生成的所有其他内容之后。
我在“服务”前缀下添加了该路由,该前缀专门提到了控制器和操作。
无论如何,当我运行代码时,我会立即收到找不到路由的错误:
匹配“array ('prefix' => 'serving', 'controller' => 'TrainingsUsers', 'action' => 'add', 'plugin' => NULL, '_ext' => NULL, )" 的路由可以找不到。
我环顾四周并试图查看文档(我对 cakephp 仍然很陌生),但无法找出这样做的原因。我的理解是回退默认路由应该捕获这个控制器/动作组合,但它没有。即使我自定义添加了路线(假设我做得正确),它仍然说找不到。
奇怪的是,当我从 Url::build 中的数组更改时:
在参数中使用字符串:
有用。在错误页面上的 Connected Routes 下,
我在这里错过了什么吗?
我刚想起来。我在 cakephp 4.0.1
我认为这是我的 error.log 中的相关信息。我的 debug.log 没有显示任何内容。
提前致谢
编辑: bin/cake 路线生成(仅左列):
elasticsearch - Cakephp 4.0.1 ElasticSearch 插件问题
我收到以下错误:
致命错误:Cake\ElasticSearch\Plugin::bootstrap(Cake\Core\PluginApplicationInterface $app) 的声明必须与 Cake\Core\BasePlugin::bootstrap(Cake\Core\PluginApplicationInterface $app) 兼容:C:\xampp 中的无效\htdocs\my_app_name\vendor\cakephp\elastic-search\src\Plugin.php 在第 33 行
我已经关注了这个https://book.cakephp.org/elasticsearch/2/en/index.html
cakephp - Cakephp中多个主机的路由
正如食谱所说:
路由可以使用 _host 选项仅匹配特定主机。您可以使用 *. 通配符匹配任何子域。
但是,如果我想一次为多个主机设置相同的路由怎么办?
例如:
如果我必须设置几十条这样的路线,上面是没有意义的。
理想是这样的:
forms - CakePHP 4 FormHelper->date() 的日期格式如何更改为英国格式
我在模板中有以下代码:
这显示了一个可爱的新动态日期选择器,但使用美国格式“mm/dd/yyyy”。我想要的是“dd/mm/YYYY”
在 app.php 中,我将 APP_DEFAULT_LOCALE 设置为 en-GB。在 AppController.php 我设置了以下内容:
如何更改格式?我在文档或在线中找不到任何内容。
php - CakePHP 4.0 数据库配置
上面的代码位于 config/app.php 文件所在的位置,以便使用 MySQL 启用数据库,我无法加载数据库并使用该配置连接 MySQL 数据库,我在哪里找到你问的错误:
我想利用该错误找到解决错误的解决方案。感谢所有帮助。烤!