Laravel Junior Code Review: Security and Consistency

Sdílet
Vložit
  • čas přidán 6. 09. 2024

Komentáře • 95

  • @cardboarddignity
    @cardboarddignity Před 2 lety +7

    Discovered your channel yesterday. Great content! From my experience, I can say, that as a developer, I used to make same mistakes, when I first learned Laravel. But now it's been like 3 years or so, and while watching these videos, I can say that I'm not junior anymore

  • @jashanpreet832
    @jashanpreet832 Před 3 lety +17

    This is great and everyone will learn

  • @nmead33
    @nmead33 Před 3 lety +17

    Congrats on 100k views on the 1st code review video. I enjoy watching and rewatching these vids. Helps with my own refactoring ideas. Would love some future videos on creating tests for the various changes you are making, perhaps creating the tests and running the tests prior to and after refactoring.

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +4

      Yes, it's a great idea. I remember already doing something like this, but can't quickly find that exact video. Which means I need to shoot a new one :)

  • @warrenarnold
    @warrenarnold Před 3 lety +3

    The thumbnail is irreplaceable 🤣🤣🤣🤣🤣
    I love your channel
    Nice explanation behind the reason why. Your channel is underated🙌

  • @Claudio_Pereira
    @Claudio_Pereira Před 3 lety +4

    Povilas, again, thank you very much. The knowledge I acquire in your videos is often superior to what I could learn in a formal course or even in college. Congratulations.

  • @matejcerny4459
    @matejcerny4459 Před 3 lety +5

    Maybe I have advice for you. If you have a condition like :
    $contact = Contact:where(....);
    if ($contact) {
    .....
    }
    You can place $contact = Contact:where(...); inside "if"
    So it will look like
    if ($contact = Contact:where(....)) {}
    And then you can call the variable in that return;
    In my opinion, it looks cleaner.
    You can also use Contact::whereFirst instead of where(...)->first()
    Anyway, thanks for your work. Best youtube channel in my opinion.

  • @devKazuto
    @devKazuto Před 3 lety +3

    For code cleanup/consistency I'm using php-cs-fix. Before committing I'm running composer fix and all code will be checked and uniformly (single quotes, indentation) formatted and deletes unused 'use' and can order 'use' by different criteria.

  • @tlita93
    @tlita93 Před 3 lety +1

    100k hah? Amazing sir. Immediately after you made that first video I thought it would be extremely popular. As I already commented on one of your videos, everything I wanted to see, as I was learning PHP and then Laravel, is the real world example, a real project, code/repo that has couple of hundred or thousands of commits and it's constantly updated to live server - SSH or whatever. To see why and how I am gonna use my knowledge in a real world scenario. You always learn about some, I dare say "silly", examples that kinda don't make sense in the big(ger) picture.
    Thank you for everything and don't work too hard sir. :)
    Cheers

  • @bktowp0
    @bktowp0 Před 3 lety +1

    Morning starts with code review. Thank you

  • @esilvajr
    @esilvajr Před 3 lety +3

    Good review but its important explain the use of try/catch when using firstOrFail eloquent's method. I see a lot of people using firstOrFail and they not catch the ModelNotFoundException and just let de "Exception/Handler" handle it.
    Nice video content, congratulations.

  • @baadrqaaba9529
    @baadrqaaba9529 Před 3 lety +7

    This is a good content to see on CZcams, not as tiktoker's stupid dance. I have learned a lot thank you .

  • @sodomousprime
    @sodomousprime Před 3 lety +1

    Yes these code reviews are great, please keep them up. Also what I think is a good topic that no one has really covered as of yet, is what components in jetstream are reusable for guest side of client browsing, like adding guest() and auth() to jetstream components.

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +2

      Currently I'm not planning more videos about Jetstream, I've published a few of them but they weren't popular enough, so not too many people actually use or want more tips on Jetstream, as numbers show.

    • @sodomousprime
      @sodomousprime Před 3 lety

      @@LaravelDaily Thank you for your response. Personally I think its a bit too complex still as there is not many tutorials on the subject other than installing and configuring the auth side. Until this changes it will stay a niche topic unfortunately.

  • @miro-hristov
    @miro-hristov Před 2 lety +1

    Just wanted to let you know this website is live and googleable and the /clear /migrate routes are still accessible publicly. Might want to let them know. I hope I didn't break anything. Thanks for the great content!

  • @mspiderv
    @mspiderv Před 3 lety +1

    15:57 The $address->field = $request->field part. I use to write this thing as follows: $address->forceFill($request->only['field1', 'field2', 'field3' ...]) I think it's better because you need to name your fields only once (not twice). And of course you can use "fill" instead of "forceFill" if you configured your $fillable property in Address model.

  • @whtht
    @whtht Před 3 lety

    Haha its so fun to review juniors code :D

  • @yahikkonr6350
    @yahikkonr6350 Před 3 lety +1

    Good, explanation of best practices about laravel code patterns, ex: repository, service, api, controller ...

  • @Rocknrolla112
    @Rocknrolla112 Před 3 lety +1

    awesome idea to make playlist, and hope there will be more reviews :)

  • @alfiantorobudiputranto8569

    I think this is a great video, make everyone will learn the best practice for writing a code..

  • @skills_set
    @skills_set Před rokem

    great, about returning views,
    if i want to return to a view with some data, which is advisible to use, direct from view or from controller

  • @imedtech1256
    @imedtech1256 Před 3 lety +1

    very interesting method to learn keep going like this videos thank you

  • @ridwanbakare8972
    @ridwanbakare8972 Před 3 lety +1

    Its constructive criticism, I hope when I get to build my first project, I'll send mine too and it get reviewed

  • @debjit21
    @debjit21 Před 3 lety +3

    Yes! leared a lot. I use migrate inside admin so only admin can migrate and clear the cache. And when migrating use "--force" because the app is in production mode.

    • @bumblebity2902
      @bumblebity2902 Před 3 lety +2

      As Povilas said, try to persuade client to store laravel project in dedicated hosting. If client is stingy and use shared hosting, artisan commands should be protected by admin/superAdmin middleware.

  • @Stoney_Eagle
    @Stoney_Eagle Před 3 lety +1

    Having these artisan commands available from the web is not a bad idea, but i would hide them in an ajax api route with if user is admin.
    If you have a huge amount of routes you should separate them in different files.
    I created an admin and user route file and attach the main Middlewares inside the route service provider so the code is more readable.
    Only my public routes are in web 😉
    Remember the days where coding was more pain than joy?
    Laravel has removed all that pain, doesn't realy matter how bad you do things anymore... It just works or it tells you exactly what you did wrong.

  • @atatopatato
    @atatopatato Před 3 lety +2

    Model::where('id', 1) can be changed to Model::find(1)

  • @pasizdobrekuce
    @pasizdobrekuce Před 6 měsíci

    Amazing! That said, that "text ticker" in the header is very annoying. Otherwise, excellent!

  • @KatieGeorgieva
    @KatieGeorgieva Před 3 lety +10

    When a controller does one thing why not use an invokable controller?

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +7

      Good tip. I should probably shoot a separate short video about invokable controllers, I don't see them used often enough.

    • @supercal2010
      @supercal2010 Před 3 lety

      @@LaravelDaily Yes please do!

    • @lucagrandicelli
      @lucagrandicelli Před 3 lety

      I prefer not to use invokables too much because you'll never know if it comes to add a new method in it. Also, a method name helps you to better understand the underlying logic. But it's up to you.

  • @warpig2786
    @warpig2786 Před 3 lety

    This is very valuable, thanks for your time!

  • @RajibDas-hb6qt
    @RajibDas-hb6qt Před 2 lety

    Great Sir...Kindly do some professional project for us...

  • @7105597
    @7105597 Před 3 lety

    Once again, excellent video! - I find helpful you repeating suggestions like "use groups" (and so on). You could use less time handling them, as you did, but it's good to remember, and for new persons watching your videos.
    In other hand, I'm working in an API. How normal is use routes (from apiResources) for handle multiple entries. For example: store method receives an array of new Products. What's the convention here, store MUST create just ONE Product? or can I use it to create multiple Products?
    Since I'm trying to create multiple products, I would like to see a video from you talking more about the last topic (you talked about in this video), handling errors with data. Must I use for loops asking if one ID exist? (using firstOrFail), must I use "try - catch" and custom exceptions? - Also, I could check for unique using $request->validate, but what about unique between the new incoming products ! - I have been researching about these error handling systems, but... Im not satisfied with my current state.
    Thanks for the tip about the IDE, it's awesome! (this comment is not sponsored!)

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +1

      Hi Cristhian, thanks for a long comment. It's hard to have one answer for all your question, it's very individual. Those Route::resource or Route::apiResource follow the standard that store() is for one record, so what you're doing is probably a CUSTOM method/URL like import(Request $request) where you would loop through the records, and then it's up to you to decide how to handle validation - stop on the first error, loop through the list of errors, insert into DB all successful records, etc.

    • @7105597
      @7105597 Před 3 lety

      Thanks to you for the reply. These style of videos are one of the best methods for me to learn/improve a new language/framework, and not all people do. Thanks for your time and effort to answer most of the comments. Your answer was helpful, and gave me some peace, so, once again, thanks!
      Keep being strict, and show us how to improve in Laravel! (and maybe, some other related technologies! - e. g. CD/CI; kubernetes; NoSQL (which Im working with (MongoDB))

  • @Jurigag
    @Jurigag Před 3 lety

    16:23 here it depends, personally for writing i prefer having small tables, user most of the time don't want to edit everything and then have projection(read model) which would consist of all this data in one table which would be populated by events. Especially if i need to access it often.
    This is especially important if you have like a lot of joins, sometimes it's better to denomralize model for reading and keep it normalized only for writing.

    • @josephbassey1249
      @josephbassey1249 Před 2 lety

      I understand but having your whole configuration in a single table is a good practice 🖐️

  • @alexevlad
    @alexevlad Před 3 lety +1

    I really enjoy this types of videos, because is helping me/us better to write code. What I found very hard these days to understand was JWT & Repository Pattern, what I had seen on some projects what are using it. I'm trying to build a dashboard application with Laravel & React, and I fail at that point of JWT login/register.
    I had seen library's alternative like Sanctum, would you recommend me to use it?
    Thanks for reading the comment 🌟

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +1

      Of course I recommend Sanctum, as it's official Laravel library. But I work with Vue and not React, so not sure if it has any other nuances.

    • @warrenarnold
      @warrenarnold Před 3 lety

      @@LaravelDaily i found a good tut at pusher on working with react and laravel however for auth i use fortify as instructed by laravel daily. Then copied the react auth parts from the previous project. customizing several custom redirect depending on login type of user was nt hard. However what i found impossible is customizing the redirect on failed login, or redirecting to correct login form when trying to access protected routes. Please can u touch on that , where is the fortify auth middleware and hw to customize it......and try out the react with laravel thing its cool.

    • @AnonymOus-dp3jj
      @AnonymOus-dp3jj Před 2 lety

      Why I add them into an admin setting page, to clear cache , routes, etc

  • @LaravelLover
    @LaravelLover Před 3 lety

    Such a great video, you are real hero man

  • @nikitajolobov4375
    @nikitajolobov4375 Před rokem

    thank you a lot, you are great!!!

  • @yahyazakaria6584
    @yahyazakaria6584 Před 2 lety

    Thank you so much :)

  • @taslimsuman
    @taslimsuman Před 3 lety

    Always great

  • @LoganathanNatarajanlogudotcom

    Thanks

  • @borissman
    @borissman Před 3 lety

    7:00 - no, you are not repeating yourself. Please consider continuing in the same way!

    • @LaravelDaily
      @LaravelDaily  Před 3 lety

      Well, for me it seems that I'm talking about the same things in like 3rd or 5th junior review, but maybe it's because I've watched them all myself :) Maybe other visitors of my channel are not so active.

    • @borissman
      @borissman Před 3 lety

      ​@@LaravelDaily Yea, i completely understand your point of view xD

  • @shocchosolutions6275
    @shocchosolutions6275 Před 3 lety

    sir you are the best
    sir how we integrate voice call or video call functionality in our website

  • @EDDIEcodename47
    @EDDIEcodename47 Před 3 lety +3

    Didn't know you can use console commands in "code".. Live and learn.

  • @ifeanyinnaemego
    @ifeanyinnaemego Před rokem

    Is there a project on video upload with progress bar

  • @rishharris8808
    @rishharris8808 Před 3 lety

    thank you so mush for you wonderful content

  • @piyushkumardongre5873
    @piyushkumardongre5873 Před 3 lety

    Hi,
    How to generate Laravel models from an existing database design?. Also, can I set somewhere which one of them are of Resource type.

  • @khafi22
    @khafi22 Před 3 lety +1

    Should we expect a livewire version of quickadmin panel? If yes when?

  • @alila3883
    @alila3883 Před 3 lety

    Nice 👍👍

  • @kieran1990able
    @kieran1990able Před 3 lety +6

    Man, how come these junior dev make slick design and when I make, it looks always shit. I really don't have good eye for design. Any tips for that?

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +2

      Tailwind UI is a good example of design. Not necessarily for purchase but to get ideas.

    • @kieran1990able
      @kieran1990able Před 3 lety

      @@LaravelDaily Thanks :)

    • @rsgjunior99
      @rsgjunior99 Před 3 lety +1

      Most of those are free templates. The template used for the admin area on this video is AdminLTE.

    • @kieran1990able
      @kieran1990able Před 3 lety

      @@rsgjunior99 cool, can you recommend some websites with best design templates?

  • @warrenarnold
    @warrenarnold Před 3 lety

    @Laravel Daily i found a good tut at pusher on working with react and laravel however for auth i use fortify as instructed by laravel daily. Then copied the react auth parts from the previous project. customizing several custom redirect depending on login type of user was nt hard. However what i found impossible is customizing the redirect on failed login, or redirecting to correct login form when trying to access protected routes. Please can u touch on that , where is the fortify auth middleware and hw to customize it......and try out the react with laravel thing its cool.

  • @johnyonardpauly5601
    @johnyonardpauly5601 Před 3 lety +2

    I was shocked on the video thumbnail.

  • @adebajooluwaseyi2124
    @adebajooluwaseyi2124 Před 3 lety

    amazing

  • @sidneyonahon602
    @sidneyonahon602 Před 3 lety

    Hi sir can I join your training bootcamp? I am a developer but eager to learn backend so that I can be fullstack

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +1

      Currently not planning bootcamp in near future, but watch the channel for any news.

    • @sidneyonahon602
      @sidneyonahon602 Před 3 lety

      @@LaravelDaily ok sir thanks

  • @GergelyCsermely
    @GergelyCsermely Před 3 lety

    Thanks.

  • @ridwanbakare8972
    @ridwanbakare8972 Před 3 lety

    This is nice.

  • @hemantbhardwaj17
    @hemantbhardwaj17 Před 3 lety +1

    16:52 why he even need where instead of find() he is targeting the ID

    • @louisevirtudazo2822
      @louisevirtudazo2822 Před 3 lety +1

      "Junior" developer not knowing all the function. Its fine, beginner's mistake

    • @resin01
      @resin01 Před 3 lety

      They do not. Both will run the exact same query, so it's a matter of preference. I would prefer ->find() as well (or probably dependency injection with route model binding)

  • @codewithtee
    @codewithtee Před 3 lety

    Good morning, what could make a route return 404 after you run the Artisan command.
    I am not sure of which I command I ran, I just noticed that particular route I just added was returning 404

    • @LaravelDaily
      @LaravelDaily  Před 3 lety

      Sorry we can't debug it for you and blindly guess what you did wrong.

  • @bestsolution794
    @bestsolution794 Před 3 lety

    Awesome ❤️

  • @ltroya
    @ltroya Před 3 lety

    Sometimes when you buy a shared hosting you dont have access to the console

  • @m.Baobaid
    @m.Baobaid Před 3 lety +1

    Is it possible for us to send you our project to review it?

    • @LaravelDaily
      @LaravelDaily  Před 3 lety +1

      Currently, I have a big queue of reviews already. Unless you have a specific problem(s) or question(s) that I can review which will lead into some topic-based video.

  • @user-lj2ou4db3c
    @user-lj2ou4db3c Před 3 lety

    Is there a way to send you my project for code review, I'm also junior ?

    • @LaravelDaily
      @LaravelDaily  Před 3 lety

      For now, I think I'm done with junior reviews because they start to be very similar, repeating each other. But you can send and I will take a look if there's something individual worth shooting a video. Email me povilas@laraveldaily.com with more details and invite me to repository, GitHub username povilaskorop

  • @zoroXgamings
    @zoroXgamings Před 3 lety

    Can you do my laravel project code review ?

    • @LaravelDaily
      @LaravelDaily  Před 3 lety

      Currently, I have a big queue of reviews already. Unless you have a specific problem(s) or question(s) that I can review which will lead into some topic-based video.

  • @alicenNorwood
    @alicenNorwood Před 3 lety

    When you are even doing a refactor of own video titles

  • @husniddintogizov7324
    @husniddintogizov7324 Před rokem

    He needs one extra route /db/drop

  •  Před 3 lety +1

    3:16 he/she would know 😉

  • @webhimel
    @webhimel Před 10 měsíci

    very helpful for junior developer, Do you want to review my code?

    • @LaravelDaily
      @LaravelDaily  Před 10 měsíci +1

      Sorry I don't have free time anymore for perosnal reviews.

  • @gidaban79
    @gidaban79 Před 3 lety +1

    to be honest, that will always happen, when guys watching "tutorials" on CZcams from developers of "copy - paste" :)

  • @rajabhishek2936
    @rajabhishek2936 Před 3 lety

    Awosem

  • @muhammadfarhanahmed9280

    This is great and everyone will learn