标签: cakephp

CakePHP:访问database.php值

我需要从我的一个控制器中检索CakePHP的配置文件database.php中的值.

我维护一个前雇员的代码,所以我不肯定这有多少是坚持默认结构.我希望这是相当简单的,但我似乎无法谷歌正确的信息.

文件:app/config/database.php

class DATABASE_CONFIG
{
    var $db1 =
        array('driver' => 'mysqli',
              'connect' => 'mysql_connect',
              'host' => 'localhost',
              'login' => 'username',
              'password' => 'password',
              'database' => 'schema',
              'prefix' => '');
}
Run Code Online (Sandbox Code Playgroud)

文件:app/controllers/my_controller.php

// here is where I need to retrieve
// the database login and password values
Run Code Online (Sandbox Code Playgroud)

我可以在这里使用什么语法?甚至可以检索这些值,还是只能访问CakePHP框架的内容?

php cakephp

13
推荐指数
3
解决办法
7995
查看次数

CakePHP会话/ auth间歇性地注销

我正在收到用户的报告和投诉,他们将使用屏幕并在下次请求时立即返回登录屏幕.它不会一直发生,而是随机发生.

我正在使用CakePHP和Auth组件,除了这个问题之外,它似乎运行良好

我在Cake论坛上得到了一些反馈,这有时是由重置会话的404请求引起的,即如果你有一个损坏的图像链接或缺少的favicon文件.我打开了firebug并且没有失败的请求,因此我将此作为一种可能性进行了排除,但是用户偶尔会被注销.这似乎发生在浏览器和操作系统之间.

下面是我的配置设置的摘要:Security.level = high Session.timeout = 1200 //这意味着我的实际超时应该是12,000秒Session.save = php

我真的不知道造成这个问题的原因......

php authentication session cakephp session-timeout

13
推荐指数
1
解决办法
6594
查看次数

在CakePHP查找函数中使用DISTINCT

我正在写一个CakePHP 1.2应用程序.我有一个人员列表,我希望用户能够在不同的字段上进行过滤.对于每个可过滤的字段,我有一个下拉列表.选择过滤器组合,单击过滤器,页面仅显示匹配的记录.

在people_controller中,我有一些代码:

$first_names = $this->Person->find('list', array(
    'fields'=>'first_name',
    'order'=>'Person.first_name ASC',
    'conditions'=> array('Person.status'=>'1')
));
$this->set('first_names', $first_names);
Run Code Online (Sandbox Code Playgroud)

(状态= 1,因为我使用的是软删除.)

这将创建所有first_names的有序列表.但重复是在那里.

在Cookbook中,我找到了一个使用DISTINCT关键字并修改我的代码来使用它的示例.

$first_names = $this->Person->find('list', array(
    'fields'=>'DISTINCT first_name',
    'order'=>'Person.first_name ASC',
    'conditions'=> array('Person.status'=>'1')
));
Run Code Online (Sandbox Code Playgroud)

这给了我一个像这样的SQL错误:

Query: SELECT `Person`.`id`, DISTINCT `Person`.` first_name` FROM `people` AS `Person`   WHERE `Person`.`status` = 1   ORDER BY `Person`.`first_name` ASC
Run Code Online (Sandbox Code Playgroud)

问题很明显.该框架将Person.id添加到查询中.我怀疑这来自使用'list'.

单击过滤器按钮时,我将使用选定的过滤器创建SQL语句.我不需要is字段,但无法摆脱它.

谢谢Frank Luke

cakephp distinct find cakephp-1.2

13
推荐指数
4
解决办法
4万
查看次数

请求实体太大的PHP

在我的一个CakePHP网站中,我收到了这个错误.

请求的实体太大

我不知道是什么问题.我认为我通过表单发布的数据太大了.我在搜索引擎中搜索了这个,并得到了我将不得不增加post_max_size.默认情况下,我认为它设置为8M.

但是不知道如何增加post_max_sizeCakePHP以及该怎么做呢?

谢谢.

php apache .htaccess post cakephp

13
推荐指数
3
解决办法
8万
查看次数

CakePHP - 放置服务逻辑的位置

我是Java程序员,试图调查CakePHP - 目前我的应用程序结构/设计有问题.我无法理解在哪里放置应用程序的核心逻辑.

当我在JavaEE中开发时,常见的方法如下所示:

  • 模型类是表示数据实体(产品,人员等)的简单bean - 大多数类似于具有getter/setter的数据结构;

  • 控制器类是足够简单的类,它们聚合必要的数据并将它们注入专用的View模板,然后发送给用户;

  • DAO(DataAccessObject)或Repository类是可以将实体加载和存储到数据库中的类;

  • 服务类通常是包含某些业务逻辑方法的单例 - 这些方法由控制器,其他服务或调度操作调用,另一方面,它们自己调用DAO/Repository方法来获取或修改数据.

例如,如果我有实体Person,Product并且Order,当用户选择某个产品并点击"将它放入我的购物车/购物篮"时new Order,Person应该创建这个并且Product应该添加到此Order(我们可以检查这Person是不是坏的债务人,Product并且存在在商店等) - 所有这些工作都是在OrderService一些控制器调用的方法中执行的.

通常使用某种IOC(控制反转),以便所有服务和控制器都有必要服务的链接等.

现在,我对CakePHP中如何完成这一切感到有些困惑.我应该把这个业务逻辑等放在哪里?

architecture cakephp

13
推荐指数
1
解决办法
2783
查看次数

在CakePHP REST插件中处理JSON API请求的身份验证

我正在尝试使用REST插件为我的CakePHP应用程序构建一个API:https://github.com/kvz/cakephp-rest-plugin

使用此插件的原因是因为我想要一种简单的方法来处理有关受保护方法的API调用的身份验证,并且还希望将来处理日志记录等.

为了防止重复,插件的设置如上一个问题所述:CakePHP REST插件不返回现已修复并正常工作的数据.

下一部分是处理身份验证.我已经将以下内容添加到我的beforeFilter方法中,基本上应该说是否是一个休息调用并且用户没有登录(注意:并非所有方法都需要用户登录)然后将其登录.

if (!$this->Auth->user()) {

            if ($this->Rest->isActive()) {   

                $loginUser = $this->User->loginUser(
                    $credentials['username'],
                    AuthComponent::password($credentials['password'])
                );

                if($loginUser) {                        
                    if (!$this->Auth->login($loginUser['User'])) {
                        $msg = sprintf('Unable to log you in with the supplied credentials. ');
                        return $this->Rest->abort(array('status' => '403', 'error' => $msg));
                    }
                }

            }
        }
Run Code Online (Sandbox Code Playgroud)

对于那些想要看模型调用的人:

 public function loginUser($usernameOrEmail, $password)
    {
        return $this->find('first', array(
            'conditions' => array(
                'OR' => array(
                    'User.email' => $usernameOrEmail,
                    'User.username' => $usernameOrEmail,
                    'User.phone' => $usernameOrEmail
                ),
                'User.password' => $password
            ),
            'recursive' …
Run Code Online (Sandbox Code Playgroud)

rest jquery cakephp

13
推荐指数
1
解决办法
7147
查看次数

CakePHP:如何获取使用分页检索的记录总数

使用$this->paginate('Modelname')某个页面检索记录时limit,如何获取检索到的记录总数?

我想在视图上显示此总计数,但count($recordsRetrieved)返回仅在当前页面上显示的数字.因此,如果检索到的记录总数为99且limit设置为10,则返回10,而不是99.

cakephp

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

404 Not Found在此服务器上找不到请求的URL

我遇到了小麻烦,想知道是否有人可以帮助我解决这个问题.我从Hostgator中删除了一个网站的副本,我正在尝试使用我的本地计算机进行设置 WAMP但是,我在尝试访问该网站时遇到错误.这是我试过的..我去了Apaches httpd.conf文件并取消注释了LoadModule#from rewrite_module modules/mod_rewrite.so.此外,我已将AllowOverride None更改为All.话虽如此,我不知道还有什么可以寻找的.请注意,在我的申请中,我的httaccess文件没有(.)在他们面前(.htaccess).我不确定这是否值得注意.有关访问我的网站需要做什么的任何想法?当我访问应用程序时,我确实看到了缓存版本(白色屏幕),但是当我单击链接登录时,我看到了404 Not Found.

apache mod-rewrite cakephp wamp cakephp-1.3

13
推荐指数
7
解决办法
18万
查看次数

发送激活电子邮件,SMTP服务器不接受密码

我正在使用CakePHP发送一封电子邮件,我收到了一条错误:SMTP server did not accept the password我的收件箱中有一封电子邮件说:sign-in attempt blocked! , we recently blocked a sign-in attempt to your Google Account.

这是正常的吗?

我正在使用Xampp.

function sendActivationEmail($user_id)    
{   
    Debugger::dump($user_id);

    $user = $this->User->findById($user_id);

    if ($user==false) 
    {
        debug(__METHOD__." failed to retrieve User data for user.id: {$user_id}");
        return false;
    } 
    $this->set('username', $this->data['User']['username']);
    $this->Email->to = $user['User']['email'];
    $this->Email->subject = env('SERVER_NAME').'- Please confirm your email address';
    $this->Email->from = 'laurent@gmail.com';
    $this->Email->template = 'account_verification';
    $this->Email->delivery = 'smtp';
    $this->Email->smtpOptions = array(
    'port'=>'465',
    'timeout'=>'30',
    'host' => 'ssl://smtp.gmail.com',
    'username'=>'laurent@gmail.com',
    'password'=>1234567 …
Run Code Online (Sandbox Code Playgroud)

gmail smtp cakephp sendmail

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

了解CakePHP模型数据中的_ids数组

使用CakePHP v3.1 w/Postgres DB.当我检索带有关联的记录时,我经常会看到一个额外的数组_ids.像这样的东西:

    ...
    (int) 26 => [
        'agency_id' => (int) 23,
        'routes' => [
            '_ids' => (int) 2
        ]
    ]
Run Code Online (Sandbox Code Playgroud)

或者有时:

     '_ids' => Array (
        0 => 1
        1 => 5
        2 => 3
        3 => 4
     )
]
Run Code Online (Sandbox Code Playgroud)

我想了解:

  1. 这些魔法是如何以及为何_ids出现的?
  2. 有没有办法控制或阻止这种行为?

php orm cakephp cakephp-3.0

13
推荐指数
1
解决办法
261
查看次数