Laravel erweiterte Klasse
Gibt es andere Schritte, die erforderlich sind, um eine Klasse erweitern, in Laravel 3?
Ich erstellt application/libraries/response.php
:
class Response extends Laravel\Response {
public static function json($data, $status = 200, $headers = array(), $json_options = 0)
{
$headers['Content-Type'] = 'application/json; charset=utf-8';
if(isset($data['error']))
{
$status = 400;
}
dd($data);
return new static(json_encode($data, $json_options), $status, $headers);
}
public static function my_test()
{
return var_dump('expression');
}
}
Aber für einige Grund, weder die my_test()
Funktion oder der geänderten json()
Funktion arbeitet.
In mein controller, ich Tue das folgende:
Response::my_test();
//or
$response['error']['type'] = 'existing_user';
Response::json($response);
Und keine Arbeit, was bin ich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie einen name-space-ersten - so:
Datei:
application/libraries/extended/response.php
Dann innerhalb config/application.php Sie müssen den alias ändern
Dann in start.php
Class 'Extended\Response' not found
Class 'Extended\Laravel\Response' not found
\Laravel\Response
in diesem Fall. Ja, es kann ganz einfach in CodeIgniter aber es gibt eine Einschränkung, es so gut, fühlen Sie sich frei, um zu lernen, das pro und Contra der Verwendung von Namespace.Eigentlich die richtige Art und Weise zu erweitern, eine Bibliothek wäre Folgendes:
response.php
imapplication/libraries/
class Response extends \Laravel\Response
'Response' => 'Laravel\\Response'
imapplication/config/application.php
Getestet und es funktioniert. Das ist, wie ich es jetzt tun