【问题标题】:Laravel doesn't take my class as a classLaravel 不把我的课当作一门课
【发布时间】:2014-01-16 08:29:55
【问题描述】:

我收到的错误信息:

我的设置:

我在app 文件夹中创建了一个classes 文件夹,并在app\classes 中创建了Alert.php
app\start\global.php 中的代码是这样的:

ClassLoader::addDirectories(array(
    app_path().'/commands',
    app_path().'/controllers',
    app_path().'/models',
    app_path().'/database/seeds',
    app_path().'/classes', // This line is the one I've added.
));

composer.joson

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/classes"
    ]

在此之后,我运行了composer dump-autoload
我在aliases 数组中添加了'Alert'=>'Alert' app\config\app.php
我在app\classes\Alert.php的班级:

<?php
class Alert {
    static function new($type, $message){
        if(Session::has("alert_type") && Session::has("alert_message")) {
            $alert_type = Session::get("alert_type");
            $alert_message = Session::get("alert_message");
        } else {
            $alert_type = array();
            $alert_message = array();
        }
        $alert_type[] = $type;
        $alert_message[] = $message;
        Session::flash("alert_type", $alert_type);
        Session::flash("alert_message", $alert_message);
    }
}

filters.php

Route::filter('auth', function()
{
    if (Auth::guest()) {
        $alert_type = "danger";
        $alert_message = "<strong>Error: </strong>You need to sign in before continue.";
        Alert::new($alert_type, $alert_message);
        return Redirect::intended('/');
    }
});

【问题讨论】:

    标签: php class laravel laravel-4 syntax-error


    【解决方案1】:

    new 是 PHP 中的 reserved keyword。为你的静态方法使用另一个名字,你会没事的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 2014-10-07
      • 2021-07-22
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多