问题标签 [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.9.x 升级到 4.0:bin/cake 升级 rector --rules phpunit80 挂起
我正在将 CakePHP 3 应用程序升级到 CakePHP 4,并遵循升级指南。
但是,该bin/cake upgrade rector --rules phpunit80 <path/to/app/tests>
工具挂起。
一点背景知识,我的应用程序主要是用 CakePHP 3.6 制作的。我将其升级到 3.7,然后是 3.8,然后是 3.9,并在尝试升级到 4 之前确保一切正常(没有弃用警告)。
我正在关注CakePHP 4.0 升级指南。所有步骤都成功到“应用 Rector Refactorings”。
当我运行这个:
我得到这个结果:
然后,
它只是挂在那里(已经大约 1 小时)。
关于如何解决这个问题有什么建议吗?
谢谢!D.
session - CakePHP 4:如何读取表类(模型)中的会话数据?
我已将 CakePHP 从 3.6 版升级到 4.0,在 3.6 版中,我可以使用以下解决方法访问模型中的会话,
现在的问题是,在较新的版本 4.0 中,它给出了错误"Class 'Cake\Network\Session' not found"。
谁能帮助如何在 cakephp 4 版本中访问模型中的会话?
谢谢
cakephp - CakePHP TinyAuth 适配器实现
我正在使用 TinyAuth CakePHP 插件来管理我网站上的权限。
他们还有一个插件来使用带有 CakePHP 3.7+ 的数据库来管理 ACL(访问控制列表),但该插件不适用于 CakePHP 4.0
我目前正在编写自定义适配器来管理数据库的授权,就像这里建议的那样。
我的主要问题是:我不知道我应该在哪里写我的新适配器?
目前,它们位于 TinyAuth 供应商文件夹中,我将它们导入app_local.php中,如下所示:
这是有效的。我没有设法让它们在我的项目文件夹中工作,因为我无法导入类(???)
这是一种安全/好方法吗?创建自己的插件,还是在别处编写我的 php 类并导入它对我来说更好吗?在 CakePHP 4 app_local.php中导入文件是否安全?
我对 PSR-4 和 CakePHP 框架标准真的很陌生,如果我的问题很愚蠢,很抱歉,但我真的很想把事情做对......
提前谢谢你
php - CakePHP 4 - 烘烤不会让我使用不同的数据库连接到“默认”
CakePHP 4.0.8
在我config/app_local.php
的定义中,我定义了 2 个不同的数据库:
当我执行php bin/cake.php bake model
时,它将列出default
数据库配置中的表,即db1
.
我无法更改interface_db
和烘焙模型db2
。在 CakePHP 3 中,我使用-c
带有 bake 的标志来更改连接,例如bin/cake.php bake model -cinterface_db
这给出了一个错误:
数组键interface_db
定义到 的连接db2
。
为什么会出现这种情况?它曾经在 Cake 3 中工作。
cakephp-4.x - 成功登录后的 CakePHP 4 身份验证重定向
我正在一个新的 CakePHP 4 应用程序中实现身份验证(根据 CMS 教程)
我不得不将getAuthenticationService
Application.php 中的方法更改为:
和
遵循我在这里看到的建议。
这行得通,我得到了我的登录模板,可以登录,并且 Auth 会话数据设置正确。
但是,登录后,我不会重定向回引用页面,而是重定向到包含我的基本应用名称两次的 URL : http://localhost/my_app_name/my_app_name/my_controller
因此,我不确定在成功登录后在哪里设置(或更确切地说是重新设置)基本网址以进行正确的重定向。
cakephp - 尽管使用安全组件解锁操作,为什么 AJAX 请求会触发 400 响应?
我试图让一个在 CakePHP4 中工作的 ajax 请求,但继续遇到 CSRF 保护。
在我的控制器中:
然后在模板文件中:
没有beforeSend
在 ajax 调用中,我得到 403 响应。如果我包含 X-CSRF-Token,我会收到 400 响应。
不确定它是否相关,但我正在使用身份验证插件。( https://book.cakephp.org/authentication/2/en/index.html )
cakephp - 链式选择 CakePHP4
我正在尝试在 CakePHP 4 中创建一个链式选择下拉列表。我搜索了几个论坛并找到了一些解决方案,发现它们可以与以前的 CakePHP 版本一起使用。我遵循 CakePHP 4 Sandbox中的代码,这是一个很好的示例项目。但是,当我请求链接的选定值时,它显示错误“发生错误:未定义”。
我的数据库表:
- 国家 [id,name]
- 状态 [id,name]
- 位置 [id,country_id, state_id]
我已经烘焙了代码,所有关系都运行良好。然后我修改了以下代码:
下载Ajax 插件并启用它。
创建公共函数chainedDropdowns和countryStates如下:
- 在 ...localhost\cake4\templates\Locations\chained_dropdowns.php 创建 chaindropdown 页面
- 在 ...localhost\cake4\templates\Locations\ajax\country_states.php 创建 country_states
选择国家时,例如:泰国,各州将列出曼谷、甲米、普吉岛。但是,它会产生错误:localhost 说:发生错误:未定义。
浏览器控制台显示错误:toolbar.js?1589525179:91 GET http://localhost/cake4/locations/country-states.json?id=2 500(内部服务器错误)
Apache访问日志显示:
我怎么解决这个问题。谢谢你的帮助。
php - Cakephp 4 蛞蝓生成
我有个问题。我正在根据他们官方网站上的指南在 Cakephp 中构建一个 CMS。一切都很顺利,但我有一个问题。正如文章补充的那样,不会生成任何服务。一切都按照教程 100% 完成。
你能猜出它是由什么引起的吗?
我把它放在 ArticlesTable 中,但它似乎不起作用。
有任何想法吗 ?
cakephp - Cakephp4,检测上传字段是否存在
从 3.9 迁移时,尝试检查文件是否已使用上传行为上传时出现错误。
我应该如何检查文件是否已上传。请注意,它没有附加到模型,我不想添加验证,只需签入控制器。