我在laravel项目的app目录中创建了一个类Payment.php
,我试图在我的HomeController.php
控制器中使用它。我使用use App\Payment;
语句导入了我的付款类,但它显示以下错误
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)Class' App \ Payment'找不到
app \ http \ controllers \ HomeController.php
<?php
namespace App\Http\Controllers;
use App\Payment;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index(){
$payment = new Payment();
}
}
app \ Payment.php
<?php
class Payment {
private $url;
private $salt;
private $params = array();
public function __construct ( $salt, $env = 'test' )
{
$this->salt = $salt;
switch ( $env ) {
case 'test' :
$this->url="https://testpay.easebuzz.in/";
break;
case 'prod' :
$this->url = 'https://pay.easebuzz.in/';
break;
default :
$this->url="https://testpay.easebuzz.in/";
}
}
}
答案 0 :(得分:2)
首先尝试学习使用命名空间
命名空间和使用不是Laravel功能。这些是Core PHP的功能的一部分,可以像任何其他结构一样使用。 名称空间基本上将您的函数,类和常量分组到一个特定的名称下面,我们称之为名称空间。
namespace myself;
function hello(){
echo 'hai';
}
现在,如果您包含由上述代码组成的php文件,您现在可以通过以下方式调用函数hello():
<?php
require 'myself.php';
myself\hello();
答案 1 :(得分:1)
您必须为该类命名。当你要添加一个必须由其他类中的命名空间导入的类时,你应该在类声明文件中指定命名空间。
App \ Payment.php
<?php
namespace App;
class Payment {
private $url;
private $salt;
private $params = array();
...
}