我试图实例化控制器中的域对象,但出现此错误“ Attempted to call function "getAge" from namespace "App\Bundle\Controller"
”。这是我的结构文件夹:
这是我的Cow.php:
<?php
namespace Domain;
class Cow {
private $age;
public function __constructor($ag) {
$this.$age = $age;
}
public function getAge() {
return $this.$age;
}
}
我的控制器:
<?php
namespace App\Bundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Domain;
class CowController extends Controller
{
public function insertAction()
{
$cow = new Domain\Cow(10);
$age = $cow.getAge();
return $this->render('AppBundle:cow:insert.html.twig');
}
}
我已经尝试了名称空间的所有组合:
use Domain;
$cow = new Domain\Cow(10)
use \Domain
$cow = new \Domain\Cow(10)
use \Domain
$cow = new Domain\Cow(10)
我该如何进行这项工作???
尝试以下替换:
<?php
namespace Domain;
class Cow {
private $age;
public function __construct($age) {
$this->age = $age;
}
public function getAge() {
return $this->age;
}
}
控制器:
<?php
namespace App\Bundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Domain\Cow;
class CowController extends Controller
{
public function insertAction()
{
$cow = new Cow(10);
$age = $cow->getAge();
return $this->render('AppBundle:cow:insert.html.twig');
}
}
基本上,PHP的方法/属性访问符号->
代替.
。另外,要在名称空间中使用类,您需要指示到类的整个路径,Domain\Cow
而不仅仅是\Domain
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句