1
Сообщения об ошибке я получил:
Laravel не принимает мой класс как класс
Моих расстановки:
я создал папку classes
в app
папке и созданные Alert.php
внутри app\classes
,
В 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
.
И я добавил 'Alert'=>'Alert'
в aliases
массив в 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('/');
}
});
Да, вы правы, я изменил его, и теперь он работает. – Kai