How to Build a REST API With Laravel: PHP Full Course

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.ย. 2024

ความคิดเห็น • 253

  • @nelsonbaluyot6882
    @nelsonbaluyot6882 ปีที่แล้ว +32

    Dude this is the best turorial I've watched so far

  • @locrien8888
    @locrien8888 4 หลายเดือนก่อน +3

    Please note for non-windows users you must use a forward slash rather than a backslash when using artisan make:resource folder/resourcename

  • @themindfulway876
    @themindfulway876 5 หลายเดือนก่อน +6

    This guy sounds like a mix between documentary and a flight instructor. Awesome

    • @dieudonneoutchi8500
      @dieudonneoutchi8500 4 หลายเดือนก่อน

      Exactly 😆!! that's crazy man !! I really appreciated ... Thk you

  • @stevehoober3712
    @stevehoober3712 ปีที่แล้ว +8

    Coming from MERN, this was the best video I needed to grasp everything. Thanks lot Jeremy

    • @envatotuts
      @envatotuts  ปีที่แล้ว

      Glad you enjoyed it!

  • @nikalairom
    @nikalairom ปีที่แล้ว +24

    Great course and even greater way of explaining how to do it. Man, it takes a great amount of skill to translate something a bit complicated in such a simple way. Great work!

    • @envatotuts
      @envatotuts  ปีที่แล้ว +3

      Glad you enjoyed it!

    • @user-wc6zr1es5p
      @user-wc6zr1es5p ปีที่แล้ว

      @@envatotuts How to validate if customer exists when saving invoices?

    • @mrbande32
      @mrbande32 ปีที่แล้ว

      True

  • @ProdJAN-hh9lv
    @ProdJAN-hh9lv 6 วันที่ผ่านมา

    Excellent short course. However, this needs to be updated, hope you guys would work on this one again :D

  • @HTDChannel
    @HTDChannel ปีที่แล้ว +10

    This is one of the greatest tutorials of all time, exactly what you need to know no extra bs

  • @MrFixIt-le7rs
    @MrFixIt-le7rs ปีที่แล้ว +3

    Best Tutor, his teaching way gives you confident to start any project.

  • @saiful-here
    @saiful-here 9 หลายเดือนก่อน +3

    It was such a fantastic course to enjoy and learn. I had a lot of confusion about API development and even don't have such good ideas in case of API development. Thank you for this course.

  • @mayboyx
    @mayboyx 4 หลายเดือนก่อน +1

    As far as I know, Envato is talking about design. So, when I see this video, I'm little doubtful. But, surprisingly the explanation in this video is amazing and complete. For example, the versioning of API which is crucial in development but not discussed very often in another tutorial. Why you make a programming tutorial, Envato? Hahaha. Btw, thank you

  • @DiogoGaming2
    @DiogoGaming2 5 หลายเดือนก่อน +1

    One of the best tutorials ever, you should make a lot more, very well explained and clear to understand

  • @al-morshedtours2161
    @al-morshedtours2161 8 หลายเดือนก่อน +2

    Mindblowing , the way how he illustrate and explain things

  • @gorilla8526
    @gorilla8526 3 หลายเดือนก่อน

    由浅入深,由表及里,层层递进。非常值得推荐的Laravel视频!👍

  • @aribiali3574
    @aribiali3574 2 ปีที่แล้ว +8

    Would u make a tutorial about react +laravel +authontification and thnx❤

  • @dachshund_jow
    @dachshund_jow 2 ปีที่แล้ว +3

    19:22 if don't see Route's data, to be seen 404 not found, Enter command "php artisan serve" in your project folder.

  • @juanchongo77
    @juanchongo77 9 หลายเดือนก่อน +2

    It is the best course i've never seen, Thank u so much!. Greetings from Venezuela

  • @medtalks6146
    @medtalks6146 9 หลายเดือนก่อน +2

    hey , from where the hasInvoices() in the seeder came from does laravel know it automatically?

    • @collectorX
      @collectorX 22 วันที่ผ่านมา

      yes due to the naming convention, laravel auto detects and does its magic. ofcoz the relationships have to be built

  • @mktNo1
    @mktNo1 ปีที่แล้ว +2

    I hadn't done with Laravel for a long time. It's really helpful. Thank you for your video.

  • @oguzhansisman9322
    @oguzhansisman9322 ปีที่แล้ว +1

    Im really glad that i found this channel. I hope i can watch all your videos. Thank you!

    • @envatotuts
      @envatotuts  ปีที่แล้ว

      I hope so too! But, there are a lot of videos!

  • @ruzindanajules7040
    @ruzindanajules7040 2 ปีที่แล้ว +4

    sir at what point did you define the method hasInvoices in the customerSeeder class .My ide flags it as undefined method.thank you

    • @MegaZombie0001
      @MegaZombie0001 ปีที่แล้ว

      I think Laravel creates that because of the relationship 'hasMany'. Laravel is smart enough (and abstracts lots of things) to understand customer class has many invoices so it says I should create function called hasInvoices. I am not sure but I think this is the case because it runs without problem

  • @Hexdy
    @Hexdy ปีที่แล้ว +1

    I've come from Django, React and Vue, and hate with my soul php, BUT laravel seems quite entertaining and your video made it usable for a project of mine, thank you!

  • @techloading3217
    @techloading3217 5 หลายเดือนก่อน +1

    Best tutorial ever watched. keep it up. love your work.

  • @AbiodunSam
    @AbiodunSam ปีที่แล้ว +2

    What a nice tutotial - I like it.
    44:43 While implementing filter transform, I didn't understand how "[gt]" and the likes were passed and where the $oprators arrays were gotten.
    Please, I need clearifcation.

  • @dotdotdotdotdash
    @dotdotdotdotdash ปีที่แล้ว +1

    This video saved my life, props to the guy 👊👊

  • @ousssika5359
    @ousssika5359 ปีที่แล้ว +4

    $adminToken = $user->createToken("admin-token", ["create", "update", "delete"]);
    it return form me tha the createToken method is not define on the user

    • @ChampionChapters
      @ChampionChapters ปีที่แล้ว

      Same here. Did you manage to find a solution?

    • @vladimir8036
      @vladimir8036 ปีที่แล้ว +1

      Instantiate variable $user like this:
      $user = User::where('email', $credentials['email'])->first();
      It will return App\Models\User instance, which should have HasApiTokens trait.

  • @ilyesmilyesm2576
    @ilyesmilyesm2576 6 หลายเดือนก่อน

    best tutorial in planet earth, period

  • @mackshonayi943
    @mackshonayi943 5 หลายเดือนก่อน

    This is a great course, excellent teacher. Very clear explanations!

  • @hgrafa
    @hgrafa 4 หลายเดือนก่อน

    Best and clear tutorial so far!

  • @bhardwaj_abhi3421
    @bhardwaj_abhi3421 ปีที่แล้ว +1

    one of the best video on rest api

    • @envatotuts
      @envatotuts  ปีที่แล้ว

      Thank you so much 😀

  • @gillesashley9314
    @gillesashley9314 ปีที่แล้ว +3

    I'm done with the entire course, enjoyed every second of it and I'm gonna use it as reference in my upcoming projects. But Sir I have a request, could you please make a video on how to integrate Swagger docs into a laravel api? There are a couple of resources around, but most aren't helpful enough. Thank you.

  • @alnamaaengineering2731
    @alnamaaengineering2731 2 ปีที่แล้ว +2

    can't recommend your tutorial enough, thanks a lot

    • @envatotuts
      @envatotuts  2 ปีที่แล้ว

      Glad to hear that

  • @malikimoustapha4061
    @malikimoustapha4061 3 หลายเดือนก่อน

    thank for this valuable tuto, My question is there another tuto example that shows how to consume thise rest API?

  • @NeilMyatt
    @NeilMyatt หลายเดือนก่อน

    This is great but needs updating for Laravel 11.x - maybe just adding some notes in the description would be enough to help people. There are quite a few changes mean that following this tutorial won't work for a lot of people. Most notably that api routes are not installed OOB anymore, so you need to need to run php artisan install:api

  • @kurdev101
    @kurdev101 9 หลายเดือนก่อน

    Thanks a lot, the first time I thought this video did not help me. But this video did help me a lot. Thank you again.

  • @artisciencedev1203
    @artisciencedev1203 7 หลายเดือนก่อน

    We love you Envato Tuts developer!

  • @matmitcheilando7266
    @matmitcheilando7266 7 หลายเดือนก่อน

    It helps me a lot more than anything so far....
    Thank you sensei

  • @delvinnj-vh7gf
    @delvinnj-vh7gf 2 หลายเดือนก่อน

    Nice course, Could please make a video about graphQL in Laravel ?

  • @hectormendez6305
    @hectormendez6305 6 หลายเดือนก่อน

    gran video me ayudo a comprender demasiado varias partes del framework laravel y de la implementacion de sanctum

  • @SaqibNaeem-ob7gp
    @SaqibNaeem-ob7gp 5 หลายเดือนก่อน

    Amazing tutorial.
    One-in-all.
    Thanks Envato

  • @kanker5256
    @kanker5256 2 ปีที่แล้ว +3

    25:06 - unfortunately, adding a prefix to the routes just repeats (weirdly) the already 'app/http/controllers/v1/controllerName' after the given namespace; weird...
    so it results in something like
    Target class [NAMESPACE_GIVEN]\App\Http\Controllers\v1\[CONTROLLER_NAME] does does not exist.
    which is
    Target class App\Https\Controllers\v1\App\Http\Controllers\v1\[CONTROLLER_NAME] does not exist.
    NAMESPACE_GIVEN = App\Https\Controllers\v1

  • @remanonet7044
    @remanonet7044 10 หลายเดือนก่อน

    Many Thanks, It was a pleasure to follow you in this tutorial

  • @ITDevelopmentCafe
    @ITDevelopmentCafe 11 หลายเดือนก่อน +1

    Thank you for the very efficient course that you have explained in the simplest possible way.

  • @covermaker8748
    @covermaker8748 ปีที่แล้ว +2

    Great course! I've learned a lot from you, thank you. For the bulk insert section, you could consider moving the logic for removing the 'customerId', 'billedDate', and 'paidDate' data from the controller to a protected function called 'passedValidation' in the BulkStoreInvoiceRequest.php . What do you think?
    So it would look like this:
    protected function passedValidation(){
    $data = collect($this->toArray())->map(function($arr, $key){
    return Arr::except($arr, ['customerId','billedDate', 'paidDate']);
    })->toArray();
    $this->merge($data);
    }

  • @apnachannal9129
    @apnachannal9129 ปีที่แล้ว +1

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!

  • @rescatado182
    @rescatado182 ปีที่แล้ว

    Great tutorials for thinking in advanced tips on build stronger API's. One thing, I come from LATAM, so my keyboard too, and my "not equal" symbol that it works is this: '!='

  • @bruhisbruh000
    @bruhisbruh000 11 หลายเดือนก่อน +1

    Hi loved the tutorial just one question at 27:00 you said anyone using the API would expect camelcase , but i could stg every single third party API i used even from big companies like (google/facebook etc..) use the same naming conventions as SQL in their responses ( postal_code for example) , so which one is right lol

  • @emilebaelde
    @emilebaelde 2 ปีที่แล้ว +4

    Great course but i have a question for you: How would you handle filtering on the relationship?
    For example, having products with translations but i only want to get the products which have English translations.

  • @franciscoastoreca3110
    @franciscoastoreca3110 5 หลายเดือนก่อน

    I love your voice for learning

  • @ousssika5359
    @ousssika5359 7 หลายเดือนก่อน

    tanks for this tuto , i was abel to start my journy with laravel ,thanks a lot

  • @Almursalat.
    @Almursalat. ปีที่แล้ว +1

    very talented teacher - cheers

    • @envatotuts
      @envatotuts  ปีที่แล้ว +1

      Thank you! Cheers!

  • @phpisdead
    @phpisdead 2 ปีที่แล้ว +2

    Thank you , next laravel and vue project please

  • @alfatech924
    @alfatech924 2 ปีที่แล้ว

    Great envato tuts team we are waiting for this course premiere ...

  • @locrien8888
    @locrien8888 4 หลายเดือนก่อน

    Great tutorial, it is really appreciated. What is your reasoning for CamelCase JSON rather than snake_casing? I see some people say it makes things easier for Java/C++/Python. Thoughts?

  • @madaminmj8462
    @madaminmj8462 ปีที่แล้ว

    trust me , this is better even paid course

  • @kosticnemanja1914
    @kosticnemanja1914 ปีที่แล้ว +1

    in my humble opinion, your voice is better than Morgan Freeman

  • @bhedabipin9246
    @bhedabipin9246 ปีที่แล้ว

    I got everything I needed to know in this one video. Thank you!!

  • @uros.u.novakovic
    @uros.u.novakovic 7 หลายเดือนก่อน +1

    I am following this tutorial now and everything so far is working perfectly well as told in the video. Except for the show function in the controller. When I add /1 to my API Endpoint in PostMan I just get an empty resource. When I remove the /1 I get the entire database. I am not sure why this happens.
    EDIT:
    A second issue I get it is in the PUT/PATCH section where I get an error in PostMan that says "The PUT method is not supported for route api/v1/registration/validate. Supported methods: GET, HEAD, POST." I did everything like the video said.

  • @TheKennyWorld
    @TheKennyWorld ปีที่แล้ว +1

    I believe that you need to use $request->validated() and not $request->all() in order to retrieve only the data that actually underwent validation.

    • @ridddlewrong
      @ridddlewrong 7 หลายเดือนก่อน

      No it wont work because we put in rules array postalCode field name that will change into postal_code only after the $request->validated(), so you should leave it how it is with all()

  • @borakayalar
    @borakayalar 8 หลายเดือนก่อน

    Perfect course! Many Thanks

  • @jlemuelDev
    @jlemuelDev 4 หลายเดือนก่อน

    hope this have a frontend react implementation and using this api's

  • @flaterptech
    @flaterptech ปีที่แล้ว

    Thank You for this course, Its really helps, More knowledge to your brain bro

  • @paollarce5137
    @paollarce5137 ปีที่แล้ว +1

    What extension for VSC are you using ?

  • @reksihu
    @reksihu 3 หลายเดือนก่อน

    Thank you for this video!

  • @user-ml6he2yr3y
    @user-ml6he2yr3y ปีที่แล้ว

    great tutorial, however I found problem in 1:10:51 when using "protection", then changing to "protected"

  • @iambsquare
    @iambsquare 2 ปีที่แล้ว

    I love this, havan't come across this kind of tutorial (Very understandable)

  • @azad_agi
    @azad_agi ปีที่แล้ว +1

    Amazing Tutorial , Thank you so much

  • @hewsman1
    @hewsman1 2 ปีที่แล้ว

    May I know why you skipped out on delete request? Finished the course

  • @pramodsawant9687
    @pramodsawant9687 ปีที่แล้ว

    One of the great video I have seen 💓I loved your voice 💓

    • @envatotuts
      @envatotuts  ปีที่แล้ว +1

      Thank you so much 😀

  • @mustafahassan9383
    @mustafahassan9383 ปีที่แล้ว +1

    Bad Method Call: Did you mean App\Models\customer::invoice() ?
    it gives me this error

  • @lassestube
    @lassestube 9 หลายเดือนก่อน

    Query builder has a when method instead of using if else

  • @vezzel1113
    @vezzel1113 9 หลายเดือนก่อน

    could you make a more advanced tutorial this tutorial was really good.I learnt alot

  • @eugaleksandr
    @eugaleksandr 11 หลายเดือนก่อน

    Thanks for the video, very useful course!
    I have a small question, at 30:50 in the response results the current_page and last_page are not written in the Camel case, how can I fix this? I understand that Laravel returns this automatically, but I still want to put things in order.

  • @ahmedmahmoodhameed2585
    @ahmedmahmoodhameed2585 3 หลายเดือนก่อน

    Great course. Is there a GitHub repository for this course?

  • @jeffreypalcone5395
    @jeffreypalcone5395 5 วันที่ผ่านมา

    May I ask if anyone knows the extension? Looks very cool to me

  • @ZephniStrife
    @ZephniStrife 9 หลายเดือนก่อน

    Absolutely love the video, also... love your vscode theme and icon set, could someone let me know what is being used here?

  • @petersparks6954
    @petersparks6954 ปีที่แล้ว +1

    Anyone know if this works on Laravel 9 & PHP 8?
    I keep getting 404 on my routes /api/v1/customers ? Thanks

  • @GreengRass-of8vo
    @GreengRass-of8vo ปีที่แล้ว

    This is great content, and has kick started my Laravel. I am trying this with a MongoDB, and am up to the filter. How do I do something like the Filter, but for doing it with MongoDB?

  • @nocopyrightmusic-kt8gv
    @nocopyrightmusic-kt8gv ปีที่แล้ว

    Thank you for explaining this thoroughly!

    • @envatotuts
      @envatotuts  ปีที่แล้ว

      Glad it was helpful!

  • @CliveStewart-bq3od
    @CliveStewart-bq3od 5 หลายเดือนก่อน

    Do you have a tutorial that shows how to create a laravel app that consume these api?

  • @Maen963
    @Maen963 ปีที่แล้ว

    i wish my like button turns into 1000 likes button !
    what a PRO tutorial

  • @andrewmedvedev963
    @andrewmedvedev963 ปีที่แล้ว

    Wow thank you. Great tutorial. A lot of valuable information was given.

    • @envatotuts
      @envatotuts  ปีที่แล้ว

      Glad it was helpful!

  • @benjaminvenezia1944
    @benjaminvenezia1944 ปีที่แล้ว +2

    A great tutorial to follow with senior developer tips, this is really excellent! ♥🍻

    • @envatotuts
      @envatotuts  ปีที่แล้ว +1

      Glad it was helpful!

  • @marktheunknown1829
    @marktheunknown1829 4 หลายเดือนก่อน

    Thank you very much, I enjoyed a lot

  • @davidedema8240
    @davidedema8240 ปีที่แล้ว

    Wow. this is so easy to understand.

  • @juancamilovallejos8328
    @juancamilovallejos8328 11 หลายเดือนก่อน

    Very good and useful tutorial Thanks!

  • @DigitalHelpVault
    @DigitalHelpVault ปีที่แล้ว +1

    I have this issue please help: "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'postalCode' in 'field list' (SQL: insert into `customers`, I did everything but my prepareForValidation() is not working.

    • @DigitalHelpVault
      @DigitalHelpVault ปีที่แล้ว +1

      sorted

    • @gieldewinter7068
      @gieldewinter7068 ปีที่แล้ว

      Can you tell me pls how you solved it? I dont know how to solve

    • @TheYealoChannel
      @TheYealoChannel ปีที่แล้ว

      @@gieldewinter7068 Actual answer: postalCode in the $fillable array in the Customer model should actually be postal_code.

  • @remanonet7044
    @remanonet7044 2 ปีที่แล้ว +1

    47:30 . Target class [App\Http\Controllers\Api\V1\Request] does not exist. what is the problem please ?

    • @easyscript549
      @easyscript549 2 ปีที่แล้ว +1

      my working when put this --> use Illuminate\Http\Request; at top of customercontroller.php below it namespace, before the rest of 'use'

    • @abdullohsharipov3108
      @abdullohsharipov3108 2 ปีที่แล้ว

      try 'composer dump-autoload --optimize' in your terminal.

  • @alexandruaxentioi3006
    @alexandruaxentioi3006 11 หลายเดือนก่อน

    Amazing course

  • @jorensynaeve5589
    @jorensynaeve5589 2 ปีที่แล้ว +3

    Loving the course! Just what I needed. May I ask, what VS Code theme are you using?

  • @matthewlee-mu2kq
    @matthewlee-mu2kq 3 หลายเดือนก่อน

    At 28:20 I had to add an extra '\' for Laravel to create the correct filename and sub-directory...
    php artisan make:resource V1\\CustomerResource

  • @aatifbangash
    @aatifbangash ปีที่แล้ว

    Best of the best tutorial

  • @azamibragimov8771
    @azamibragimov8771 ปีที่แล้ว

    Wonderfull tutorial. I hope this will help many developers. I have one question though. What if you want to save file within post request? I have tried this and got an error. I might doing something wrong when handling the request, but Laravel tools to save file doesn't working at all. If anybody did this I would appreciate if this will be hinted here in comments.

  • @chulopapi812
    @chulopapi812 8 หลายเดือนก่อน

    Thank you for the tutorial. I will look out for you other tutorials. Loved it

  • @NaughtyGFY
    @NaughtyGFY 8 หลายเดือนก่อน

    Not often Lewis Black narrates a Laravel course :)

  • @matthewlee-mu2kq
    @matthewlee-mu2kq 3 หลายเดือนก่อน

    The api routes didn't work for me. You need to install the API package with the following command...
    php artisan install:api
    What's more you need to install on a clean project (i.e. immediately after project create).

    • @dobroendless3373
      @dobroendless3373 3 หลายเดือนก่อน

      yes of course, after laravel 11 you need to install api packages

  • @zabiremu
    @zabiremu 6 หลายเดือนก่อน

    Great course for bro

  • @israelterorisprikopat
    @israelterorisprikopat ปีที่แล้ว

    how about if we have 100 abilities or 100 role to apply to applicaton that we have build, so we must generate 100 token for those abbilities or role every sign in ? and how about make new abilities or role after applicaton running ? add the createtoken to the apps mannualy every time want to add new abilites or role ?

  • @ariwijaya3342
    @ariwijaya3342 ปีที่แล้ว

    can you detailed the installation step? i think i might skipped few step so its look really different from what you do

  • @JakubAdamus1991
    @JakubAdamus1991 9 หลายเดือนก่อน

    Great video, thanks a lot!

  • @fahimtalukdar3071
    @fahimtalukdar3071 ปีที่แล้ว

    I am facing a problem. The problem is when I give a filter parameter in string for example city[eq]=washington, it doesn't give any data but if I give parameter in number for example amount[eq]=3000 then it's working and another problem only lt,gt,eq is working for me, other's don't. How can I remove this problem?. please give me the solution.