问题标签 [cakephp]
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.
php - PHP - 保护 URL 中传递的参数
我有一个应用程序根据部分 URL 做出决定:
这恰好在蛋糕应用程序中,因此 $this->params['url'] 包含 URL 元素。然后我使用 URL 的元素来决定在我的应用程序的其余部分中使用哪些数据。我的问题是...
什么是保护这个输入的最好方法,这样人们就不能传入任何讨厌的东西?
谢谢,
cakephp - 如何为 CakePHP 的 AuthComponent 使用“用户”以外的表?
CakePHP 的AuthComponent假设您有一个包含用户名和密码的 Users 表。我想找到一种方法来覆盖从用户到帐户的默认表名。
背景资料:
我设计数据库的方式是有一个用户表和一个帐户表。
账户:
ID
用户身份
用户名
密码
身份验证服务(例如,我的站点、Facebook、Google、OpenID等)
用户:
- 简单地拥有用户的所有个人信息(年龄、性别等)
这样做的原因是
- 每个用户可以有多个可以登录的帐户,因此他们不会被锁定在一个帐户中
- 我可以将第三方服务连接到一个帐户以获得更棒的体验
现在回到问题....
CakePHP 有关于更改默认字段名称的文档,但我找不到有关更改默认表名称的任何内容,但假设它本质上是相似的......
更改默认字段名称的示例:
有没有办法做到这一点,或者我应该按照 CakePHP 约定重新构建表格并仍然完成同样的事情?
php - CakePHP 中的 $data findAll 查询检查第二个表中的值
仅当 $data 查询表 [id] 在第二个表中具有匹配的 [sub_id] 时,我一直被 CakePHP 难倒如何在 CakePHP 中查询 DB 并将内容返回给 $data
标准查询:
但是我只想在 ['table2']['sub_id'] 中找到 $data['Table1']['id'] 时将值放入 $data
谢谢!
model-view-controller - 胖模型、瘦控制器和 MVC 设计模式
我刚刚阅读了一篇博客文章,该文章用银行类比解释了 MVC。我有几个月的使用 MVC 框架(CakePHP)开发 Web 应用程序的经验,所以我掌握了基础知识,但我开始看到一个主题,让我认为我在放置逻辑的地方采用了一种有缺陷的方法:
- 胖模型,瘦控制器
- 在模型中保留尽可能多的业务逻辑
在我的应用程序中,模型患有厌食症,而控制器则肥胖。我在控制器中有所有业务逻辑,除了模型中的关联和验证规则之外什么都没有。
扫描我的控制器,我现在可以识别出很多应该包含在模型中的逻辑:
- 该应用程序具有包含项目的列表,并且可以对项目进行排名。将列表按排名顺序排列的排序逻辑位于控制器中。
- 同样,物品(Item model)也有图像(Image model)。每个项目可能有一个默认图像(由项目表中的 image_id 指定)。当一个项目与它的图像一起显示时,默认图像应该首先出现。我有在控制器中执行此操作的逻辑。
- 显示列表时,侧栏中会显示相关列表。确定哪些列表相关的逻辑在控制器中。
现在我的问题:
- 通过上面给出的示例,我认为这些是当前属于模型的控制器中的逻辑实例,我是否走在正确的轨道上?
- Web 应用程序共有的其他一些逻辑领域应该纳入模型中吗?
- 我确信发现这个问题并改变我的设计模式是成功的一半,但即使我决定采用上面给出的那些例子并尝试将这种逻辑转移到模型中,我也不知道从哪里开始。任何人都可以通过在此处发布一些代码或链接到一些好的学习资源来为我指明正确的方向吗?CakePHP 的特定帮助会很棒,但我确信任何 MVC 都足够了。
php - 解析bbcode的最佳方法
我想为 php 网站开发一个 bbcode 过滤器。(我正在使用 cakephp,它将是一个 bbcode 助手)我有一些要求。
Bbcodes 可以嵌套。所以这样的事情是有效的。
Bbcode 可以有 0 个或多个参数。
示例:
Bbcodes 可能有多种行为。
比方说,[url]text[/url]
将转换为[url:url="text"]text[/url]
或视频 bbcode 将能够在 youtube、dailymotion 之间进行选择......
我认为它可以满足我的大部分需求。我已经用正则表达式做了一些事情。但我最大的问题是匹配参数。事实上,我得到了嵌套的 bbcode 和 0 参数的 bbcode。但是当我为参数添加正则表达式匹配时,它没有正确匹配嵌套的 bbcode。
"\[($tag)(=.*)\"\](.*)\[\/\1\]"
// 不是 .* 而是非贪婪匹配器
我现在没有完整的正则表达式,但我有一些看起来像那样的东西(上图)。
那么有没有办法用正则表达式或其他东西有效地匹配 bbcode。我唯一能想到的是使用访问者模式并以这种方式将我的文本与每个可能的标签分开,我可以对我的文本解析有更多的控制,我可能可以验证我的文档,所以如果输入文本没有'没有有效的 bbcode。我可以在保存任何内容之前通知用户错误。
我会使用 sablecc 创建我的文本解析器。 http://sablecc.org/
有更好的主意吗?或任何可能导致高效灵活的 bbcode 解析器的东西?
谢谢你,对不起我的英语不好......
php - CakePHP 与 Ruby on Rails 有何不同?
不久之后,我几乎从来没有听到过CakePHP 这个词而没有听到Rails 这个词。这两个框架主要是基于它们如何遵循 MVC 模型而相似的,还是它们有其他显着的相似之处/不同之处?
对我来说,Rails 的主要吸引力之一是做 Ajax 是多么容易。CakePHP 也是这样吗?
css - CakePHP 中的 CSS 文件中的 URL 是如何处理的,以便它们引用正确的位置?
我正在设计一个使用 CSS 文件的网站,但我在列表中有几次背景图像、项目符号图像,我可能会发现另一个对 cssurl()
函数的需求。
但是,在 cake 中,所有 URL 都应该由该Route::url()
函数以多种方式处理,其中最常见的是$html->url()
但我的问题是 PHP 不解释 CSS 文件。如何创建包含以下内容的 CSS 文件:
看,我的最后一个选择是在布局中内联导入 css 文件,以便对其进行解释。但我非常喜欢使用更“蛋糕”的方法。
谢谢!
jquery-ui - 如何让 JQuery UI 主题显示在 CakePHP 中?
我在为我的 CakePHP 应用程序显示 JQuery UI 主题时遇到问题。我将主题放在 app/webroot/lib/jquery.ui/ 。现在在我的布局中,我使用以下方式导入了主题:
我正在使用 DatePicker 小部件。在我的页面上,我可以看到我的文本框在聚焦时显示日期选择器,但主题未正确应用。我看不到背景图片。我知道主题(或 css)已被导入,因为我可以看到 DatePicker 中的一些变化(字体、间距等)。我只是看不到背景图片。
我不知道这是否与我的问题有关,但我也在使用 YUI。
php - 我可以停止 CakePHP 获取查询的所有行吗?
我正在使用带有 $modelName->find(...) 调用的 CakePHP 来选择相当多的行(可能是数百行)
通常,在 PHP/MySQL 中这当然不是问题,因为您在 while 循环中获取它们。但是,CakePHP 将所有行加载到一个耗尽内存限制的数组中。
有没有办法使用 $modelName->find(...) 构造但返回一个迭代器来按需获取每一行?
谢谢,大卫