[PHP] Het grote Laravel topic

Pagina: 1 ... 9 10 Laatste
Acties:

Onderwerpen


  • Hiroj
  • Registratie: Mei 2010
  • Laatst online: 04-09 14:23
Barryvdh schreef op dinsdag 27 oktober 2020 @ 17:02:
[...]


En hoe bevalt Livewire? Ik heb ook wat ge-experimenteerd met Livewire en tot nu toe bevalt het wel. Voor een eigen project en en nu ook voor een onderdeel op een klant project. Ook een stukje over geschreven: https://barryvdh.nl/larav...ar-with-laravel-livewire/

Blijft even wennen maar soms is het wel erg makkelijk om gewoon een PHP functie aan te roepen vanuit Javascript, of een event af te vuren vanuit PHP en op te vangen met Javascript O+
Hoe bevalt Livewire je nu? Ik ben er inmiddels weer redelijk vanaf gestapt, omdat ik bepaalde belangrijke elementen mis. Zoals het kunnen plaatsen van slots en eigenlijk kon ik een hoop niet zonder AlpineJS doen, wat ook weer zijn eigen beperkingen kent...

Daarom ben ik toch maar weer teruggegaan naar VueJS

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Hiroj schreef op donderdag 12 november 2020 @ 10:02:
[...]

Hoe bevalt Livewire je nu? Ik ben er inmiddels weer redelijk vanaf gestapt, omdat ik bepaalde belangrijke elementen mis. Zoals het kunnen plaatsen van slots en eigenlijk kon ik een hoop niet zonder AlpineJS doen, wat ook weer zijn eigen beperkingen kent...

Daarom ben ik toch maar weer teruggegaan naar VueJS
Voor het ene project waar ik heb gebruik (intern CRM) bevalt het eigenlijk best goed, vooral voor kleine acties vanuit javascript (event droppen/verslepen in de calendar, lijst herladen als user/project veranderd, refresh knopje, actie aan knop hangen etc). Werkt ook gewoon snel zolang je niks spannends doet in die acties en de rest queued.
Alleen ben ik nog niet zo'n held in het nesten, waardoor sommige Livewire components wat groter worden en minder makkelijk beheersbaar (met update/add arrays etc). Al zou je dat ook prima moeten kunnen opsplitsen weer.

Acties:
  • 0 Henk 'm!

  • -DarkShadow-
  • Registratie: December 2001
  • Niet online
Hiroj schreef op donderdag 12 november 2020 @ 10:02:
[...]
Daarom ben ik toch maar weer teruggegaan naar VueJS
Heb je Inertia al geprobeerd? Werkt perfect hier.

Specialist in:
Soldeerstations
Oscilloscoop


  • Saven
  • Registratie: December 2006
  • Laatst online: 08:44

Saven

Administrator

Barryvdh schreef op donderdag 12 november 2020 @ 10:42:
[...]

Voor het ene project waar ik heb gebruik (intern CRM) bevalt het eigenlijk best goed, vooral voor kleine acties vanuit javascript (event droppen/verslepen in de calendar, lijst herladen als user/project veranderd, refresh knopje, actie aan knop hangen etc). Werkt ook gewoon snel zolang je niks spannends doet in die acties en de rest queued.
Alleen ben ik nog niet zo'n held in het nesten, waardoor sommige Livewire components wat groter worden en minder makkelijk beheersbaar (met update/add arrays etc). Al zou je dat ook prima moeten kunnen opsplitsen weer.
Als ik ouderwets mag doen, en het gaat om maar heel weinig fancy-ness (lees: maar om 1 of 2 functies die je live wil refreshen) dan zou je ook nog gewoon Jquery kunnen overwegen met wat AJAX calls :P. Als je je hele applicatie een SPA wil maken is het een ander verhaal.

Jammer dat er niet echt een Nederlandse community bestaat die zich op Laravel richt. Maar we zijn dan ook maar een klein land :P

Toch gooi ik 't hier even in de groep. Ben gewoon benieuwd of jullie dit anders zouden aanpakken of niet. Bijvoorbeeld met interfaces / Service Containers etc. Alleen zit je dan weer te auwehoeren met het ophalen van benodigde gegevens.

Kort verhaal. Ik heb een aantal API Clients, en daaromheen een abstractielaag. Afhankelijk van het platform van een bedrijf, wil ik de wrapper API Client instantiëren.

De meest concrete vraag: is het OK om dit vanuit het Module model te doen met een getApiClient() method? Die method is niet direct verwant aan het model en doet niks met de database an sich. Het is wel makkelijk en imo redelijk 'simple but not stupid' :+

Stukje semi real world code met uitleg embedded. Het lijkt meer dan het is door alle comments en newlines :P
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php

class Company extends Model
{
    /**
     * Company can have multiple different modules..
     * Email marketing, CRM, Statistics, etc.
     */
    public function modules()
    {
        return $this->belongsToMany(Module::class);
    }

    /**
     * Get single module from this company based on module's name
     * Every company module has a settings table with common config fields.
     * Like API credentials for that module
     */
    public function module($name)
    {
        return $this->belongsToMany(Module::class)
            ->with(['settings' => function ($query)
            {
                $query->where('company_id', $this->id);
                $query->limit(1);
            }])
            ->where('name', $name);
    }
}

class Module extends Model
{
    /**
     * A module can belong to many companies through a pivot table (company_module)
     */
    public function companies()
    {
        return $this->belongsToMany(Company::class)->withPivot('module_id');
    }

    /**
     * Each module has a settings record,
     * but it belongs to the combination of a module_id and company_id
     */
    public function settings()
    {
        return $this->hasOne(Settings::class);
    }

    /**
     * Creates a new instance for the API Client wrapper for company platform
     * E.g. Mailchimp has a different client than Hubspot or Sendgrid or whatever.
     * This wrapper is an abstraction layer
     */
    public function getApiClient(Settings $settings)
    {
        //$settings->platform could be Mailchimp for example..
        $apiClient = '\App\ApiClients\\'.ucfirst($settings->platform).'\Client';

        return new $apiClient($this, $settings);
    }
}

class SubscriberController extends Controller
{
    private Module $companyModule;

    private Settings $moduleSettings;

    /**
     * Just an example, get the module information for this controller
     */
    public function __construct(Company $company)
    {
        // Get the Mail Marketing module and it's settings for this company
        $this->companyModule = $company->module('mailmarketing')->firstOrFail();
        $this->moduleSettings = $this->companyModule->settings;
    }

    /**
     * View a list of all subscribers
     */
    public function view(Request $request)
    {
        $apiClient = $this->companyModule->getApiClient( $this->moduleSettings );

        $subscribers = $apiClient->getAllSubscribers();

        return view('modules.subscribers.view', [
            'subscribers' => $subscribers
        ]);
    }
}

  • Thandruil
  • Registratie: Oktober 2014
  • Laatst online: 04-09 22:23
Saven schreef op donderdag 18 februari 2021 @ 14:56:
[...]
Als ik ouderwets mag doen, en het gaat om maar heel weinig fancy-ness (lees: maar om 1 of 2 functies die je live wil refreshen) dan zou je ook nog gewoon Jquery kunnen overwegen met wat AJAX calls :P. Als je je hele applicatie een SPA wil maken is het een ander verhaal.
Maar het "probleem" is dat je dan een API moet bedenken, implementeren en onderhouden. De USP van Livewire is dat je dat dus niet meer hoeft te doen.
Saven schreef op donderdag 18 februari 2021 @ 14:56:
Jammer dat er niet echt een Nederlandse community bestaat die zich op Laravel richt. Maar we zijn dan ook maar een klein land :P
Er is een Laravel Discord server, niet specifiek Nederlands, maar toch. https://discord.gg/BCXvv7mP
Saven schreef op donderdag 18 februari 2021 @ 14:56:
De meest concrete vraag: is het OK om dit vanuit het Module model te doen met een getApiClient() method? Die method is niet direct verwant aan het model en doet niks met de database an sich. Het is wel makkelijk en imo redelijk 'simple but not stupid' :+
Volgens het Separation of Controls Concerns principe zou Module zich niet bezig houden met het maken van een ApiClient instance. Dat kan je "oplossen" door een Factory pattern te gebruiken.

[ Voor 0% gewijzigd door Thandruil op 18-02-2021 16:18 . Reden: typfout ]


Acties:
  • +3 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Saven schreef op donderdag 18 februari 2021 @ 14:56:
[...]

Jammer dat er niet echt een Nederlandse community bestaat die zich op Laravel richt. Maar we zijn dan ook maar een klein land :P
Er is wel een LaraBene Slack groep, en een phpnl Slack group met een Laravel channel.

Acties:
  • +1 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
Barryvdh schreef op donderdag 18 februari 2021 @ 19:10:
[...]


Er is wel een LaraBene Slack groep, en een phpnl Slack group met een Laravel channel.
Tja, wat is ook de toegevoegde waarde van Nederlandse communities? Voor meetings vind ik het wel leuk (liever kleinschalig), maar iedereen in de IT spreekt vrijwel Engels en vaak leer je meer op een platform als Github dan in je eigen kleine kring.

Acties:
  • 0 Henk 'm!

  • Hiroj
  • Registratie: Mei 2010
  • Laatst online: 04-09 14:23
Barryvdh schreef op donderdag 18 februari 2021 @ 19:10:
[...]


Er is wel een LaraBene Slack groep, en een phpnl Slack group met een Laravel channel.
Dat vind ik wel leuk om waar te nemen, weet je waar ik mijzelf voor die slack groups kan inschrijven?

Acties:
  • +2 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Hiroj schreef op vrijdag 19 februari 2021 @ 12:20:
[...]

Dat vind ik wel leuk om waar te nemen, weet je waar ik mijzelf voor die slack groups kan inschrijven?
https://larabene.com/gids/slack
https://phpnl.nl/

Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 08:44

Saven

Administrator

Thandruil schreef op donderdag 18 februari 2021 @ 15:51:
[...]

Maar het "probleem" is dat je dan een API moet bedenken, implementeren en onderhouden. De USP van Livewire is dat je dat dus niet meer hoeft te doen.
True. Persoonlijk zou ik dan denk ik eerder voor Vue kiezen omdat dat wat breder gebruikt wordt. Maar ik heb met beide geen ervaring (staat op de planning), dus misschien is Livewire wel veel makkelijker :P
Thandruil schreef op donderdag 18 februari 2021 @ 15:51:
[...]

Volgens het Separation of Controls Concerns principe zou Module zich niet bezig houden met het maken van een ApiClient instance. Dat kan je "oplossen" door een Factory pattern te gebruiken.
Ja ook zeker waar. Zat ik al even naar te kijken, net als naar Registry pattern :)

Ik vond dit op zich wel een goed voorbeeld: http://rizqi.id/laravel-registry-pattern

Het is alleen dat heel veel gegevens uiteindelijk terugvloeien uit een aantal url segments/parameters.

Bijvoorbeeld dit:
https://applicatie.com/<companyID>/subscribers/overview


Dan zou je een ServiceProvider schrijven die op basis van de {comapany} parameter, en url segment(2) bepaalt welke factory wordt ingeladen. Vervolgens moet je op basis van die url parameters weer de module data, en module settings data ophalen en die meegeven bij het instantiëren van de class in de ServiceProvider.

In de model is alles eigenlijk al aanwezig :+

Anyway, wat stof om over na te denken. Bedankt voor je suggestie iig :)

[ Voor 3% gewijzigd door Saven op 20-02-2021 11:38 ]


Acties:
  • +1 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Wel interessant voor sommigen wellicht: https://twitter.com/LaraconOnline/status/1372250802882977792

Afbeeldingslocatie: https://pbs.twimg.com/media/Ews3jUBWUAE0CrX?format=jpg&name=medium

Laravel Octane is een tool die ervoor zorgt dat Laravel ipv Nginx/FPM via Roadrunner (een Go applicatie) of Swoole (PHP extensie) kan draaien. Dat kan nu ook al met 3rd party libraries, maar nu dus met support in Laravel zelf, wat het meer production-ready moet maken. Beta wordt verwacht over enkele weken.

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

Laravel Octane ziet er zeer belovend uit, de performance is echt indrukwekkend.

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Octane is wel koel, en zoals Taylor zelf ook al aangaf meer een project omdat het kan, en niet omdat het moet.

Neemt niet weg dat zeker wel nut heeft, het kan mogelijk de subtiele trap zijn die PHP naar een wat meer statefull platform kan stuwen. Alhoewel, elke request een volledig nieuwe omgeving ook zo zijn voordelen. Minder kans op vage memory leaks enzo.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
kwaakvaak_v2 schreef op zondag 21 maart 2021 @ 14:06:
Octane is wel koel, en zoals Taylor zelf ook al aangaf meer een project omdat het kan, en niet omdat het moet.

Neemt niet weg dat zeker wel nut heeft, het kan mogelijk de subtiele trap zijn die PHP naar een wat meer statefull platform kan stuwen. Alhoewel, elke request een volledig nieuwe omgeving ook zo zijn voordelen. Minder kans op vage memory leaks enzo.
Ja volgens mij gaf hij ook aan dat mensen er een beetje bang voor zijn, en met goede support vanuit Laravel het wel goed zou moeten zijn. Memory leaks zijn opzich ook geen ramp, want je http workers kunnen ook herstarten als ze over hun geheugen limiet heen gaan, net als de queue workers, die in principe op dezelfde manier werken al.

Acties:
  • +1 Henk 'm!

  • -DarkShadow-
  • Registratie: December 2001
  • Niet online
Octane ziet er gaaf uit. PHP-PM stond nog op mijn lijstje om een keer uit te proberen, maar dat wordt dan Octane waarschijnlijk :-)

Specialist in:
Soldeerstations
Oscilloscoop


Acties:
  • +3 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
-DarkShadow- schreef op maandag 29 maart 2021 @ 16:40:
Octane ziet er gaaf uit. PHP-PM stond nog op mijn lijstje om een keer uit te proberen, maar dat wordt dan Octane waarschijnlijk :-)
Staat online als beta nu :) https://github.com/laravel/octane

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

Awesome! Minimaal php 8.0 zal wel flinke instap zijn voor bestaande projecten.

Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Koen Hendriks schreef op dinsdag 6 april 2021 @ 20:21:
Awesome! Minimaal php 8.0 zal wel flinke instap zijn voor bestaande projecten.
Denk dat je ook niet zomaar bestaande projecten er in moet gooien, en sowieso zal het even duren voordat het 'productie-ready' is. Maar heb even geprobeerd, met Roadrunner ging het best makkelijk.

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

Barryvdh schreef op dinsdag 6 april 2021 @ 20:48:
[...]

Denk dat je ook niet zomaar bestaande projecten er in moet gooien, en sowieso zal het even duren voordat het 'productie-ready' is. Maar heb even geprobeerd, met Roadrunner ging het best makkelijk.
Ik ben ook aan het proberen om het op te zetten, maar ik blijf met een dependency error zitten met Roadrunner.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  Problem 1
    - spiral/roadrunner v2.0.0 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-RC.1 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-RC.3 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-RC.4 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta.21 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta.22 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta.24 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta11 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta12 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta13 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.0-beta19 requires spiral/roadrunner-worker >=2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.1 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.2 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.2-beta.1 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.2-beta.2 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.3 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.0.4 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner v2.1.0-beta.1 requires spiral/roadrunner-worker ^2.0 -> satisfiable by spiral/roadrunner-worker[v2.0.0, v2.0.1, v2.0.2, v2.0.3].
    - spiral/roadrunner-worker v2.0.3 requires composer-runtime-api ^2.0 -> no matching package found.
    - spiral/roadrunner-worker v2.0.2 requires composer-runtime-api ^2.0 -> no matching package found.
    - spiral/roadrunner-worker v2.0.1 requires composer-runtime-api ^2.0 -> no matching package found.
    - spiral/roadrunner-worker v2.0.0 requires composer-runtime-api ^2.0 -> no matching package found.
    - Installation request for spiral/roadrunner ^2.0 -> satisfiable by spiral/roadrunner[v2.0.0, v2.0.0-RC.1, v2.0.0-RC.3, v2.0.0-RC.4, v2.0.0-beta.21, v2.0.0-beta.22, v2.0.0-beta.24, v2.0.0-beta11, v2.0.0-beta12, v2.0.0-beta13, v2.0.0-beta19, v2.0.1, v2.0.2, v2.0.2-beta.1, v2.0.2-beta.2, v2.0.3, v2.0.4, v2.1.0-beta.1].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.


Dit terwijl ik gewoon een zo goed als nieuwe kale Laravel 8 applicatie heb opgesteld en lokaal PHP 8 gebruik:
code:
1
PHP 8.0.3 (cli) (built: Mar  4 2021 20:42:56) ( NTS )


Ik heb mijn stability ook op beta gezet voor Octane
code:
1
    "minimum-stability": "beta"


Dit zijn mijn huidige dependencies in mijn composer.json:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"require": {
        "php": "^7.3|^8.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^8.12",
        "laravel/octane": "^0.1.0",
        "laravel/tinker": "^2.5",
        "spiral/roadrunner": "^2.0"
    },
    "require-dev": {
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.2",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.3.3"
    },

Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Koen Hendriks schreef op woensdag 7 april 2021 @ 16:12:
[...]


Ik ben ook aan het proberen om het op te zetten, maar ik blijf met een dependency error zitten met Roadrunner.
Heb je wel Composer 2? Of nog versie 1? Volgens mij heb je 2 nodig voor Octane. En beta is niet nodig, ik zou gewoon stable houden.

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

Barryvdh schreef op woensdag 7 april 2021 @ 16:15:
[...]


Heb je wel Composer 2? Of nog versie 1? Volgens mij heb je 2 nodig voor Octane. En beta is niet nodig, ik zou gewoon stable houden.
Ik las echt precies net jouw zelfde antwoord wat je op de github issues pagina had gegeven haha. Composer 2 lost het inderdaad op.

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

Klopt het dat de Octane server stopt als er syntax errors zijn? Dat maakt het niet ideaal voor debuggen namelijk.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    INFO  Server running…

   Local: http://0.0.0.0:8000

   Use Ctrl+C to stop the server

   200    GET / ...................................................... 111.96 ms

    ParseError

   syntax error, unexpected token "function", expecting ")"

   at routes/web.php:21
      17▕     return view('welcome');
      18▕ });
      19▕
      20▕
   ➜  21▕ Route::get('/test/' function () {
      22▕  phpinfo();
      23▕ });
      24▕
testproject exited with code 1

[ Voor 129% gewijzigd door Koen Hendriks op 09-04-2021 13:26 ]


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
Koen Hendriks schreef op vrijdag 9 april 2021 @ 13:12:
Klopt het dat de Octane server stopt als er syntax errors zijn? Dat maakt het niet ideaal voor debuggen namelijk.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    INFO  Server running…

   Local: http://0.0.0.0:8000

   Use Ctrl+C to stop the server

   200    GET / ...................................................... 111.96 ms

    ParseError

   syntax error, unexpected token "function", expecting ")"

   at routes/web.php:21
      17▕     return view('welcome');
      18▕ });
      19▕
      20▕
   ➜  21▕ Route::get('/test/' function () {
      22▕  phpinfo();
      23▕ });
      24▕
testproject exited with code 1
Ik zou zeggen maak een issue ;) Het is niet voor niks in beta nu.

Edit: even getest maar het gaat in principe volgens mij alleen fout als je een syntax error maakt in bestanden die nodig zijn voor Octane zelf. De routes worden ingeladen op dat moment inderdaad dus met een error kan je niet verder. Maar als je gewoon controllers hebt en daar een error in maakt, is dat geen probleem.

[ Voor 16% gewijzigd door Barryvdh op 09-04-2021 15:26 ]


Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

ah kijk dat wel logisch dan. Wil ook nog in de Octane optimised routes duiken, schijnt nog best wat performance te winnen daar.

Wil liever zelf altijd ergens goed induiken voor ik een issue aanmaak haha ;)

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

@Barryvdh Maak jij ook al gebruik van Sail? Normaal had ik altijd mijn eigen docker files maar met een nieuw project ben ik nu Sail aan het gebruiken. Opzich werkt het prima maar ik loop nu tegen de issue aan dat ik geen libXrender heb... Ik zie ook geen manier in de docs om de docker uit te breiden...


Whoops weer iets te vroeg gepost, met
code:
1
sail artisan sail:publish
krijg je gewoon toegang tot de Dockerfile waarin je libXrender kunt instaleren.

[ Voor 19% gewijzigd door Koen Hendriks op 20-04-2021 15:47 ]


Acties:
  • 0 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
Iemand die hier Octane al heeft draaien? Ik wil het een kans geven, maar ik twijfel of het wel zin heeft bij een website die je enkel lokaal voor jezelf host.

Waarom ik het dan toch wil proberen.. waarom niet? :9
Gewoon om meer te leren hoe het werkt. :)

[ Voor 10% gewijzigd door HollowGamer op 05-06-2021 13:58 ]


Acties:
  • +1 Henk 'm!

  • Thandruil
  • Registratie: Oktober 2014
  • Laatst online: 04-09 22:23
HollowGamer schreef op zaterdag 5 juni 2021 @ 13:58:
Iemand die hier Octane al heeft draaien? Ik wil het een kans geven, maar ik twijfel of het wel zin heeft bij een website die je enkel lokaal voor jezelf host.

Waarom ik het dan toch wil proberen.. waarom niet? :9
Gewoon om meer te leren hoe het werkt. :)
Ten eerste, als je het wilt leren dan is het zeker waard om het te proberen. Maar ik denk niet dat het écht nut heeft om op een persoonlijke site te draaien. De extra complexiteit van het draaien van Octane weegt in mijn ogen niet op tegen de voordelen er van voor deze specifieke case.

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
Ik heb voor het eerst een Laravel package gemaakt dankzij Spatie's laravel-package-tools!

Het valt mij erg op, dat je al heel snel kijkt naar Spatie hiervoor, maar misschien zie ik iets over het hoofd?
Voor mijn gevoel leer je enorm veel door naar hun packages te kijken en die min of meer te kopiëren (structuur, indeling, classes, etc.). Met die laravel-package-tools heb je enorm veel hooks, wat super werkt bij het registreren van service providers bijvoorbeeld.

Zou iemand geïnteresseerd zijn om het even de code reviewen en/of eventueel testen? :)
Het is geen groot pakket, maar ik sta heel graag open voor feedback en tips!

Als ik daarvoor een eigen topic moet aanmaken, dan hoor ik het graag.

-------

Ander nieuws: https://laravel-news.com/livewire-v3-features

Persoonlijk kijk ik hier erg naar uit! Het begint steeds meer Vue te lijken (geen React ervaring).

Zo zijn straks components twee-weg communiceerbaar en is Alpine meer geïntegreerd. Na een tijdje te hebben gespeeld met Alpine, begin ik het steeds leuker te vinden. :)

Of ik Vue voorgoed vaarwel zou zeggen.. denk het niet. Vue heeft leuke frameworks, werkt fijn met een API en persoonlijk heb ik dat liever gescheiden i.p.v. een grote bundel. Maar je hebt met Livewire wel ontzettend snel iets opgebouwd en met V3 wordt het nog gemakkelijker/uitgebreider.

Acties:
  • +1 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 17-09 13:00
HollowGamer schreef op zaterdag 24 september 2022 @ 17:30:
Ik heb voor het eerst een Laravel package gemaakt dankzij Spatie's laravel-package-tools!

Het valt mij erg op, dat je al heel snel kijkt naar Spatie hiervoor, maar misschien zie ik iets over het hoofd?
Voor mijn gevoel leer je enorm veel door naar hun packages te kijken en die min of meer te kopiëren (structuur, indeling, classes, etc.). Met die laravel-package-tools heb je enorm veel hooks, wat super werkt bij het registreren van service providers bijvoorbeeld.

Zou iemand geïnteresseerd zijn om het even de code reviewen en/of eventueel testen? :)
Het is geen groot pakket, maar ik sta heel graag open voor feedback en tips!

Als ik daarvoor een eigen topic moet aanmaken, dan hoor ik het graag.
Ik zou zeggen, post hier je package :)

Acties:
  • +2 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
--kan-weg--

[ Voor 96% gewijzigd door HollowGamer op 08-05-2023 17:32 ]


Acties:
  • 0 Henk 'm!

  • Ultimation
  • Registratie: Februari 2010
  • Laatst online: 17-09 08:16

Ultimation

Het is als Appels en peren

Ik ben onlangs van baan gewisseld en daar werken ze met Laravel. Ik heb al 9+ jaar ervaring met php, maar niet eerder Laravel of een ander framework volledig gebruikt. Wel losse onderdelen uit dergelijke frameworks gebruikt zoals het Doctrine ORM, DI containers en routers. Ook ben ik bekend met allerlei architecturen en what not.

Die kennis wil ik graag op niveau brengen via een (online) cursus. Ik heb die van Global Training, Edu Vision, Koening-Solutions, Spiral Train en udemy gevonden.

Een hoop van deze curussen bieden fundamentals aan die ik nagenoeg kan overslaan, maar het is lauter bedoeld om 't allemaal een keer aan te raken zonder altijd maar die docs erbij te moeten pakken. Ook wil ik er iets dieper op in gaan dan de "Hello World" van Laravel zelf.

Ik vroeg mij af of jullie nog ervaring hebben met deze aanbieders en misschien nog tips hebben m.b.t. dergelijke cursussen.

[ Voor 15% gewijzigd door Ultimation op 08-05-2023 17:21 ]

MacBook Pro 2023 [14-inch, M2 Pro, 32GB RAM, 512GB]


Acties:
  • +2 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
@Ultimation Laracast, en gewoon kijken naar Laravel Boilerplates op GitHub.

Acties:
  • +2 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

@Ultimation Mijn eerste ingeving was ook Laracast. Dat is echt specifiek voor het framework en daar kan je ook geavanceerde lessen doen en de basics makkelijk skippen.

Acties:
  • +2 Henk 'm!

  • Groax
  • Registratie: Oktober 2012
  • Laatst online: 18-08 11:58
@Ultimation Probeer eens een CRUD te maken met je favoriete series of wat je ook leuk vind en bouw daar op door.

Laracast is zeker een goeie om een abonnement op te nemen.

Acties:
  • +2 Henk 'm!

  • Chris7
  • Registratie: Maart 2011
  • Niet online
+1 voor Laracasts, beste resource voor Laravel en daaraan gerelateerde tools. Link

Laracasts heeft ook veel gratis video's, zeker voor beginners dus dan kun je makkelijk kijken of het wat voor je is.

Acties:
  • 0 Henk 'm!

  • Ultimation
  • Registratie: Februari 2010
  • Laatst online: 17-09 08:16

Ultimation

Het is als Appels en peren

Ik ga met de Laracast aan de gang! Dank allemaal voor de input. Ik had er compleet overeen gekeken.

MacBook Pro 2023 [14-inch, M2 Pro, 32GB RAM, 512GB]


Acties:
  • +1 Henk 'm!

  • Marc3l
  • Registratie: December 2005
  • Laatst online: 08:27
@Ultimation zou inderdaad ook starten op Laracast. Mocht je je daarna nog vervelen ;)

Laravel Daily (https://laraveldaily.com/) en Spatie (https://spatie.be/courses) hebben ook nog cursussen.
Laravel Daily heeft ook een Youtube kanaal met bijna elke dag wel een tutorial, https://www.youtube.com/@LaravelDaily

Acties:
  • 0 Henk 'm!

  • CodeBaker
  • Registratie: November 2022
  • Laatst online: 17-09 15:54
Hallo, ik ben bezig met een shopify store op te zetten, hier wil ik een laravel applicatie aan koppelen doormiddels van API calls de order op te halen in de applicatie, nu zijn er ook er ook bepaalde orders die niet uit eigen productie komen. Deze orders wil ik weer doorzetten naar de desbetreffende producent. Kan ik dit het beste met een observer doen? alvast bedankt.

Acties:
  • 0 Henk 'm!

  • Marc3l
  • Registratie: December 2005
  • Laatst online: 08:27
CodeBaker schreef op woensdag 10 mei 2023 @ 15:44:
Hallo, ik ben bezig met een shopify store op te zetten, hier wil ik een laravel applicatie aan koppelen doormiddels van API calls de order op te halen in de applicatie, nu zijn er ook er ook bepaalde orders die niet uit eigen productie komen. Deze orders wil ik weer doorzetten naar de desbetreffende producent. Kan ik dit het beste met een observer doen? alvast bedankt.
Er zijn denk ik verschillende manieren, het zou met een observer kunnen.
Of in de API call bij het ophalen van de orders.

Ik weet niet hoe je code/API eruit ziet. Moet je eerste loopen over alle orders?
Zo ja, je zou dan in die loop ook een check kunnen maken als het een order uit niet eigen productie is en daarvoor een job inschieten (https://laravel.com/docs/10.x/queues#creating-jobs). In die job de order naar de desbetreffende producent sturen. Voordeel van een job is als de API van een producent bijvoorbeeld offline is dat je automatisch een nieuwe poging kan doen na x tijd.

Acties:
  • +1 Henk 'm!

  • CodeBaker
  • Registratie: November 2022
  • Laatst online: 17-09 15:54
@Marc3l Ik loop eerst over alle orders heen. Zoals je noemt een check erin bouwen en vervolgens in een job doen lijkt me een goede oplossing! bedankt.

Acties:
  • 0 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
https://livewire.laravel.com/docs/volt

Ik moet zeggen dat ik nogal onder de indruk ben van de stappen die Livewire met V3 heeft gezet. Ook iets als Filament werkt erg top, en er zou al een bèta zijn om de nieuwe Livewire te ondersteunen.

Het wordt wel meer VueJS, maar dan in PHP. Beetje mixed, omdat ik altijd een API en frontend apart bouw, maar met een SPA kun je tegenwoordig ook gewoon een PWA aan hangen, zodat het werkt als een app. Jammer alleen dat de grote twee (iOS en Android) het nog niet toestaan in hun stores.

Maar erg top en gelukkig toont het dus overeenkomsten met andere frameworks. :)

Acties:
  • +1 Henk 'm!

  • amphora
  • Registratie: December 1999
  • Laatst online: 15:22

amphora

Websites & Fotografie

HollowGamer schreef op donderdag 27 juli 2023 @ 21:39:
https://livewire.laravel.com/docs/volt

Ik moet zeggen dat ik nogal onder de indruk ben van de stappen die Livewire met V3 heeft gezet. Ook iets als Filament werkt erg top, en er zou al een bèta zijn om de nieuwe Livewire te ondersteunen.

Het wordt wel meer VueJS, maar dan in PHP. Beetje mixed, omdat ik altijd een API en frontend apart bouw, maar met een SPA kun je tegenwoordig ook gewoon een PWA aan hangen, zodat het werkt als een app. Jammer alleen dat de grote twee (iOS en Android) het nog niet toestaan in hun stores.

Maar erg top en gelukkig toont het dus overeenkomsten met andere frameworks. :)
Ik was al fan van Livewire en v3 nu helemaal, wire:navigate is echt geniaal...
Volt is ook zeker interessant, maar veel 'haat' uit de dev wereld omdat alles in één file zou zitten, separation of concern zit diep bij sommigen, zelf heb ik dat wel losgelaten.

[ Voor 10% gewijzigd door amphora op 28-07-2023 09:33 ]

nickdekruijk.nl Websites & Fotografie


Acties:
  • 0 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
amphora schreef op vrijdag 28 juli 2023 @ 09:29:
[...]

Ik was al fan van Livewire en v3 nu helemaal, wire:navigate is echt geniaal...
Volt is ook zeker interessant, maar veel 'haat' uit de dev wereld omdat alles in één file zou zitten, separation of concern zit diep bij sommigen, zelf heb ik dat wel losgelaten.
Je moet voor de grap eens naar /r/PHP gaan, daar is Laravel zelfs gebanned lol. Maar goed dat heb je ook in de sub /r/Linux, denk dat die mensen het te serieus nemen en weinig bijdragen aan het product uiteindelijk.

Maar ik ben het met je eens. Ik doe niets anders met Vue en composables, wat gewoon goed werkt. :)

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 14:50

Koen Hendriks

Pixel Pioneer

HollowGamer schreef op vrijdag 28 juli 2023 @ 10:58:
[...]

Je moet voor de grap eens naar /r/PHP gaan, daar is Laravel zelfs gebanned lol. Maar goed dat heb je ook in de sub /r/Linux, denk dat die mensen het te serieus nemen en weinig bijdragen aan het product uiteindelijk.

Maar ik ben het met je eens. Ik doe niets anders met Vue en composables, wat gewoon goed werkt. :)
Ik zie anders gewoon Laravel related posts op /r/php staan. Denk niet dat het helemaal klopt wat je zegt. https://www.reddit.com/r/..._herd_laravel_11_laravel/

Ik moet zelf nog beginnen met V3 maar het ziet er veel belovend uit. Ben erg voorstander van HTML over the wire en de vorige versies met veel plezier in projecten gebruikt.

Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Modbreak:Off-topic discussie en gesteggel verwijderd. Voor de duidelijkheid:

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1 ... 9 10 Laatste

Let op:
Discussies over de toekomst van Laravel, handig tips&trucs, nuttige packages, aanwezigheid op Laracon etc etc. Het is niet de bedoeling om hier problemen voor te leggen. Daar moet nog steeds een los topic voor aangemaakt worden!