{"id":23858,"date":"2021-05-07T16:07:00","date_gmt":"2021-05-07T13:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23858"},"modified":"2021-10-18T02:46:03","modified_gmt":"2021-10-17T23:46:03","slug":"bessere-moeglichkeit-laravel-controller-fuer-crud-operationen-zu-erstellen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/bessere-moeglichkeit-laravel-controller-fuer-crud-operationen-zu-erstellen\/","title":{"rendered":"Bessere M\u00f6glichkeit, Laravel-Controller f\u00fcr CRUD-Operationen zu erstellen"},"content":{"rendered":"<p>Laravel arbeitet mit MVC-Architekturmustern (Model-View-Controller). Wenn Sie eine Anwendung auf dem Laravel-Framework ausf\u00fchren, m\u00fcssen Sie Modell-, Ansichts- und Controller f\u00fcr Ihre Anwendung erstellen.<\/p>\n<p>In Laravel kann man einen Controller und ein Modell \u00fcber die Befehlszeilenschnittstelle erstellen. Laravel artisan ist die Befehlszeilenschnittstelle, die eine Reihe von Befehlen bereitstellt, die uns beim Erstellen der Anwendung helfen. Wir k\u00f6nnen und sollten einen Controller mit dem Befehl artisan erstellen.<\/p>\n<h3>Erstellen Sie einen Laravel-Controller<\/h3>\n<p>Angenommen, Sie arbeiten am Back-End und m\u00f6chten CRUD-Operationen auf Seiten ausf\u00fchren. Das bedeutet, dass Sie ein System zum Verwalten von Seiten erstellen m\u00fcssen, das das Erstellen, Abrufen, Aktualisieren und L\u00f6schen von Seiten umfasst. F\u00fcr diese Aufgabe m\u00fcssen Sie nat\u00fcrlich einen Controller erstellen.<\/p>\n<p>Normalerweise f\u00fchren die Leute den Befehl aus <code>php artisan make:controller PageController<\/code>. Dieser Befehl generiert eine Datei <code>PageController.php<\/code>im Verzeichnis app\/Http\/Controllers.<\/p>\n<p><strong>Hinweis<\/strong>: Sie m\u00fcssen diesen Befehl im Stammverzeichnis eines Projekts \u00fcber die Befehlszeilenschnittstelle ausf\u00fchren.<\/p>\n<p><strong>PageController.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass PageController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0\/\/\n}<\/code><\/pre>\n<p>In diesem generierten Controller m\u00fcssen Sie Methoden schreiben und die Routen entsprechend definieren. F\u00fcr jede Methode m\u00fcssen Sie eine separate Route schreiben.<\/p>\n<p>Beispielsweise. Lassen Sie uns eine Methode hinzuf\u00fcgen <code>index()<\/code>und eine Route daf\u00fcr definieren.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass PageController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function index() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/do operations here\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Um diese <code>index()<\/code>Funktion in der Routendatei aufzurufen, sollten wir den folgenden Code hinzuf\u00fcgen.<\/p>\n<p><strong>routen\/web.php<\/strong><\/p>\n<pre><code>Route::get('pages', 'PageController@index');<\/code><\/pre>\n<p>Der gleiche Vorgang gilt f\u00fcr jede zus\u00e4tzliche Methode.<\/p>\n<p>An diesem Fluss ist nichts auszusetzen. Dies ist jedoch nicht zu empfehlen. Hinter der Popularit\u00e4t von Laravel gibt es mehrere Gr\u00fcnde. Einer der Gr\u00fcnde sind ihre m\u00e4chtigen fortgeschrittenen Handwerkerbefehle.<\/p>\n<h3>Bessere M\u00f6glichkeit, Laravel Controller zu erstellen<\/h3>\n<p>In Laravel m\u00fcssen wir nicht jede Methode schreiben und f\u00fcr jede Methode eine separate Route definieren. Mit dem Befehl artisan k\u00f6nnen wir einen Controller mit vordefinierten Methoden generieren. Und nur durch das Schreiben einer einzelnen Route ruft Laravel automatisch die entsprechenden Methoden auf.<\/p>\n<p>\u00d6ffnen Sie jedoch Ihre Befehlszeilenschnittstelle im Stammverzeichnis Ihres Projekts und f\u00fchren Sie den folgenden Befehl aus. Beachten Sie, dass wir diesmal \u2013resource zu unserem make:controller-Befehl hinzuf\u00fcgen.<\/p>\n<pre><code>php artisan make:controller PageController --resource<\/code><\/pre>\n<p>Jetzt <code>PageController.php<\/code>sieht das generierte wie folgt aus.<\/p>\n<p><strong>PageController.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass PageController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Display a listing of the resource.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function index()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Show the form for creating a new resource.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function create()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Store a newly created resource in storage.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 IlluminateHttpRequest\u00a0 $request\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function store(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Display the specified resource.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 int\u00a0 $id\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function show($id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Show the form for editing the specified resource.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 int\u00a0 $id\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function edit($id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Update the specified resource in storage.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 IlluminateHttpRequest\u00a0 $request\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 int\u00a0 $id\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function update(Request $request, $id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Remove the specified resource from storage.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 int\u00a0 $id\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return IlluminateHttpResponse\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function destroy($id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Wir haben die Methoden wie Index, Create, Store, Show, Edit, Update, Destroy automatisch. Sie k\u00f6nnen die Kommentare f\u00fcr jede Methode lesen, in denen erkl\u00e4rt wird, was jede Methode tut. Jetzt legen wir die Route daf\u00fcr fest.<\/p>\n<p><strong>routen\/web.php<\/strong><\/p>\n<pre><code>Route::resource('pages', 'PageController');<\/code><\/pre>\n<p>Diese einfallsreiche Route erstellt mehrere Routen, um unterschiedliche Aktionen abzuwickeln. Um nun die Details zu den Aktionen abzurufen, f\u00fchren Sie den Befehl aus <code>php artisan route:list<\/code>. F\u00fcr die Seitenroute sehen Sie die Ausgabe wie im Screenshot gezeigt.<\/p>\n<p>Diese Ausgabe gibt Ihnen eine Vorstellung von der HTTP-Methode, der URL und der Methode, die die angegebene URL aufruft.<\/p>\n<p>Wenn Sie beispielsweise eine URL YOUR_SITE_DOMAIN\/pages mit der Methode GET ausf\u00fchren, wird die <code>index()<\/code>Methode eines PageControllers aufgerufen.<\/p>\n<p>Wenn Sie eine neue Seite erstellen m\u00f6chten, lautet die URL YOUR_SITE_DOMAIN\/pages\/create. Es ruft die <code>create()<\/code>Methode auf, bei der Sie eine Ansicht laden m\u00fcssen, um eine neue Seite zu erstellen.<\/p>\n<p>Wenn Sie ein Formular mit method=&quot;post&quot; und action=&quot;pages&quot; senden, wird die <code>store()<\/code>Methode aufgerufen .<\/p>\n<p>Und so weiter.<\/p>\n<p>Es geht darum, einen Laravel-Controller f\u00fcr CRUD-Operationen zu erstellen. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-fuehren-sie-das-datenbank-seeding-in-laravel-durch\/\" title=\"So f\u00fchren Sie das Datenbank-Seeding in Laravel durch\" >So f\u00fchren Sie das Datenbank-Seeding in Laravel durch<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/social-login-system-mit-laravel-socialite\/\" title=\"Social Login-System mit Laravel Socialite\" >Social Login-System mit Laravel Socialite<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel untersuchen wir, wie ein Laravel-Controller f\u00fcr CRUD-Operationen erstellt wird. Durch den Einsatz von findigen Controllern bekommen wir die vordefinierten Methoden generiert<\/p>\n","protected":false},"author":1,"featured_media":20716,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[496],"tags":[845],"class_list":["post-23858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/23858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=23858"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/23858\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/20716"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=23858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=23858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=23858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}