Beiträge von Florian Lauterbach

    Hey,


    ich war damals so naiv und habe abgefangen mir selber ein kleines "Framework" aufzubauen, welches ich halt über die von tpoeschl erwähnte Modulverwaltung erweitern kann. Die Basics wie ACL, Seitenoptionen, Menüverwaltung, Benutzerverwaltung etc sind halt dann immer automatisch da. Nach und nach entwickel ich dies nach den eigenen Bedürfnissen immer weiter.


    Wenn du privat Projekt hochziehst, würde ich dir eine solche Umsetzung auf jeden Fall empfehlen. Wenn du es beruflich machst, musst du das ganze halt mal durchrechnen. Für eine solche Umsetzung brauchst du natürlich Zeit und demnach auch Geld, aber ich denke, dass es in dieser Form die einfachste und vor allem sauberste Lösung für alle ist.


    tl;dr:

    Bau dir auch so etwas :P

    Hey,


    ich habe mir ein kleines "Framework" geschrieben, welches durch Module erweiterbar ist. Dafür nutze ich nWidart/laravel-modules und möchte es an dieser Stelle direkt auch weiterempfehlen. Heute habe ich ein neues Modul erstellt und bin natürlich direkt über einen Fehler bei den Seedern gestolpert:


    Argument 1 passed to App\Exceptions\Handler::report() must be an instance of Exception, instance of Error given, called in C:\laragon\www\instaplan\vendor\nwidart\laravel-modules\src\Commands\SeedCommand.php on line 211


    Tatsächlich ist dies Problem öfters verbreitet und dabei ganz trivial, denn dieser wird ausgeschmissen, wenn ein Fehler in den Seedern vorhanden ist. Leider geht dies aus der Fehlermeldung nicht hervor, da nWidart noch keine gescheite Lösung dafür gefunden hat. Kontrolliert also noch einmal in Ruhe Eure Seeds nach Fehlern und testet diese notfalls über eine Seed-Datei über Laravel selbst.


    Beachtet bitte auch, dass ihr im Gegensatz zu den normalen Seedern in den Modul-Seedern auch die DB Klasse implementieren müsst. Also immer schön ein use Illuminate\Support\Facades\DB; nutzen. ;)

    Hehe, schön dass der Schirmherr der ProProgrammers auch seinen Weg zu uns gefunden hat :P In diesem Sinne: Willkommen!



    Zur Info für alle anderen:

    Er ist es indirekt schuld, dass laraboard.io gegründet wurde ;)

    Hey ihr!


    Wie handhabt ihr es eigentlich auf Euren Webseiten mit Euren Social Media Kanälen? Würde gerne mehr User, welche mich über Google erreichen, auch auf die Känäle lotsen. Bin allerdings kein Freund von diesen nervigen PopUps im Sinne von "Werde ein Fan von uns auf Facebook" o.ä.

    Habt ihr da einen gesunden Mittelweg?


    Lieben Gruß,

    Flo

    Hey,


    ich habe mir zum Glück recht früh angeeignet mir kleine URL-Helper zu erstellen, die in erster Linie z.B. in Templates sauberer aussehen und einfach zu warten sind. Doch fangen wir klein an:

    Was sind helper?
    Helper sind Funktionen, welche regelmäßig verwendet werden und einem das Leben etwas erleichtern. Zusätzlich sind sie global verfügbar - egal ob im Template oder im Backend.


    Wo finde ich die helper?

    Laravel bringt von Haus aus eine Helper Datei mit, welche sich unter App\Helpers\general.php befindet. Zu einer besseren Übersicht empfehle ich jedoch lieber mehrere Dateien zu pflegen, statt alles in die general.php zu packen.


    Wie füge ich helper hinzu?

    1. Füge eine weitere Datei unter App\Helpers\ hinzu. In meinem Beispiel nenne ich sie urlHelper.php
    2. Füge die urlHelper.php im Autoloader hinzu, damit sie global verfügbar ist:
      1. Offne dazu die composer.json im Rootverzeichnis
      2. Suche darauf das autload-Object und erweitere dort den Files-Array um den Eintrag App\Helpers\urlHelper.php (orientiere dich an der general.php)
    3. Gehe in die Konsole und führe folgendes Kommando aus: composer dump-autoload - dadurch wird der autoloader neu generiert und ab nun kannst du auf alle vorhanden Funktionen innerhalb der Datei zugreifen.


    Nehmen wir nun als Beispiel ein Benutzerprofil. In der Web-Route haben wir folgendes angegeben um ein Profil aufzurufen:

    Code: web.php
    Route::get('user/{id}-{name?}', '\App\Http\Controllers\User\IndexController@getIndex');


    Die URL sähe live dann folgendermaßen aus:
    https://example.com/user/1-florian-lauterbach

    Wie sieht der Helper aus?
    Natürlich kommt es darauf an wie Euer Design und die aktuelle Situation aussieht. In diesem Falle gehe ich davon aus, dass ein UserObject vorhanden ist:


    PHP: urlHelper.php
    if (! function_exists('getUserProfileByObject')) {
    function getUserProfileByObject($object)
    {
    return url('user/'.$object->id.'-'.str_slug($object->name));
    }
    }


    Innerhalb der Funktion entnehmen wir die id des UserObjects und "sluggen" den Namen URL-freundlich um die komplette URL am Ende formatiert herauszugeben.


    In einem Template (z.B. einer Benutzerliste) könnten wir dies nun so handhaben:


    HTML
    <ul class="list-group">
    @foreach($users as $user)
    <li class="list-group-item">
    <a href="{{getUserProfileByObject($user)}}">{{$user->name}}</a>
    </li>
    @endforach
    </ul>

    Damit erhalten wir eine Auflistung aller Nutzer, inklusive deren Namen und Profil-Url. Wenn ihr zukünftig also Eure URLs anpassen wollt, müsst ihr dies auf diese Art und Weise nur innerhalb der Routen-Dateien und innerhalb der Helper-Datei machen. Kein ätzendes Suchen und Ersetzen mehr! ;)



    Wie handhabt ihr die URL Generierung? Konnte ich Euch sogar vielleicht helfen - dann lasst es mich gerne wissen. :)

    Hallo zusammen,


    Ich muss gestehen, dass ich kein großer Freund von Servern, deren Einrichtung und Verwaltung bin - ich stehe sogar ziemlich auf Kriegsfuß mit ihnen. Als ich vor ein paar Jahren auf Laravel gestoßen bin, habe ich glücklicherweise auch zeitleich Laragon für micht entdeckt - ich möchte es Euch selbstverständlich nicht vorenthalten. Beachtet bitte, dass dies hier nur ein kleiner Sneakpeak ist, denn Laragon ist durchaus ein mächtiges Programm mit einigen Features.


    Laragon:


    Url: https://laragon.org/

    Entwickler: Leo Khoa

    Typ: Entwicklungsumgebung






    Zitat

    [...] He built Laragon with one goal:

    to make web development fast, fun & enjoyable.


    Und diese Aussage bringt es absolut auf den Punkt. Laragon ist einfach, schnell und effektiv. Auf der Downloadseite habt Ihr folgende Versionen zur Auswahl:


    • Laragon Full: Apache 2.4, Nginx, MySQL 5.7, PHP 7.2, Redis, Memcached, Node.js 11, npm, yarn, git,…
    • Laragon Lite: Don’t include Node.js 11, npm, yarn, git,…
    • Laragon Portable: PHP 5.4, MySQL 5.1

    Wie ihr seht, bringt Laragon Full direkt einiges an Tools mit, aber auch der Umgang mit Laragon Lite ist kein Problem, denn diese können ohne weiteres einfach nachgefügt werden - doch dazu später mehr.


    Nach der erfolgreichen Installation, könnt ihr praktisch sofort loslegen. Ihr startet das Programm und müsst dazu nur auf "Alle Dienste" klicken, welcher den isolierten Server innerhalb von Sekunden hochfährt.




    Um ein neues Projekt zu starten, reicht ein Rechtsklick ins Fenster, welcher ein verstecktes Menü öffnet. In diesem navigiert Ihr "Neue Webseite erstellen" an und könnt unter verschiedenen Vorlagen wählen. Solltet ihr Euch beispielweise für Laravel entscheiden (habt ihr sowieso schon alles richtig gemacht ;) ), bezieht Laragon automatisch die neuste Version des Frameworks und richtet eine lokale Domain ein (z.B. meinprojekt.test). Diese könnt ihr zukünfigt nutzen, statt IPs bzw den localhost im Browserfenster zu haben. Sieht nicht nur schöner aus, sondern kann auch tatsächlich praktischer sein. Parallel dazu wird automatisch noch eine Datenbank angelegt, welche direkt in der .env verbaut wurde.



    Solltet Ihr dann doch irgendwann mal in die Situation kommen z.B. die php Extensions verwalten zu müssen, bleibt das Prinzip das gleiche:
    Rechtsklick > PHP > PHP-Erweiterungen > diese auswählen > Serverneustart durch Buttonclick. Auch Standard-Parameter wie die PHP max-execution-time o.ä. lassen sich so anpassen ohne dass ihr tiefer in die Materie absacken müsst.

    Gleiches gilt wie oben angedeutet auch natürlich für Tools:




    Durch und durch kann ich Laragon ohne schlechtes Gewissen empfehlen. Laragon ist einfach. Laragon ist kostenlos. Laragon ist effektiv. Laragon ist perfekt. ;) Und sollten dann doch einmal Fragen oder Wünsche offen sein, geht Leo und seine Community schnell auf diese im eigenen Forum ein.