I have cakephp 2 and ratchet framework for websockets. All this works on aws ec2. I create some php class and try to use cakephp model like this:
<?php
namespace some\name\space;
use App;
use CakeModel;
App::uses('CakeModel', 'Model');
use Ratchet\ConnectionInterface;
require_once 'path/to/autoload.php';
require_once 'path/to/Cake/Core/App.php';
class SomeClassThatUseRatchetThings {
public function foo(ConnectionInterface $from) {
$cakeModel = new CakeModel();
...
I start the server (wsserver
) and all works fine until i call foo
function. When i call it, i have the fallowing error:
Class 'CakeModel' not found in /path/to/SomeClassThatUseRatchetThings.php on line 20
Why this happen? What i missed? Thanks.
Very strange behavior. I added require_once bootstrap.php
like this:
require_once ROOT. DS . APP_DIR . DS . 'vendor' . DS . 'autoload.php';
require_once ROOT . DS . 'lib' . DS . 'Cake' . DS . 'Core' . DS . 'App.php';
require_once ROOT . DS . 'lib' . DS . 'Cake' . DS . 'bootstrap.php';
and this error gone away, but there was another one:
cannot redeclare class App.php
I tried to move the second require_once
to another file and my code gives me what i want. No errors + ability to use cake models.