Blog

9 Laravel Experts Share Most Annoying Development Mistakes

Posted on
9 Laravel Experts Share Most Annoying Development Mistakes

Laravel is the most starred PHP Framework on Github, powering over 37,794 websites on the internet. Sadly, a good number of these websites were built by half baked developers  – owning to ease of use of the Laravel framework.

The best programmers are up to 28 times better than the worst programmers. – Robert. L. Glass

Having gone through several projects on github, following the core principles of Laravel development in every project possible, one can easily differentiate a great developer from the regular guy; those who write spaghetti code from the really good guys. For some developers, it’s about getting the project done as quick as possible, while for others, it’s usually trial-and-error which in most cases, leads to mistakes that becomes an integral part of the project.

To understand these mistakes, we reached out to prominent Laravel experts across the world such as Graham Campbell, Prosper Otemuyiwa, Dries Vints, Mark TopperVincent TalbotJacob Bennett, James Brooks, Ajeh Emeke, and Alex Bowers – with the question “What ONE Laravel development mistake drives you crazy?”. Drawing on the experience and skills of these experts, we present you 8 Laravel mistakes that annoy most experts.

Bad code coupling to the Config method.

Graham Campbell – Laravel Contributor, StyleCI, Student (My views are my own, and are not that of Taylor Otwell, Laravel, or Alt Three Services Limited)

I see this all the time in laravel packages. They randomly call the global config function, without knowing if it even exists, or caring about the code coupling. The ONLY way you can call “config” is if you’ve actually got laravel/framework as a dependency.

The use of Fat Models & Controllers.

Prosper Otemuyiwa – Technical Writer, Auth0 Inc 

Abstraction is key. Tons of business logic should be moved to service classes rather than piling them up in your models and controllers.

 

 

Dries Vints – Lead Developer, BeatSwitch

Keep Eloquent/ORM logic inside models/services instead of controllers.

 Writing program logic in blades

 

 

Ajeh Emeke – Software developer at Codulab

Doing this:

@if(Auth::user()->role == 'admin')

which could have just been embedded inside a model as a custom method to become this:

@if(Auth::user()->isAdmin())

I try to make sure every logic stays in the controllers. For the later, it’s a lot easier to change the admin detection criteria across the application by simply tweaking the isAdmin method in the model rather than looking for every occurrence of ‘admin’.

Inadequate unit testing

https://pbs.twimg.com/profile_images/501899599641341952/yPUhUMmZ_200x200.jpeg

Mark Topper – Creator of Ulties Solutions

The one thing that makes me most crazy is the amount of Laravel based projects out there WITHOUT any form for unit testing to ensure it is working. Laravel comes with a simple solution for building small but yet powerful tests without much knowledge of the PHPUnit system; with just the basic Laravel understanding anyone should be able to make unit tests for their Laravel projects. Sadly what makes me crazy, is that it is not always done! 

Unnecessarily formatting database Fields

https://pbs.twimg.com/profile_images/599064824513892352/O8LJJC2W_400x400.jpg

Vincent Talbot – Senior Web Developer, Libéo

Trying to re-implement the magic of Laravel because they don’t believe in it (Getter/Setter for each properties in the models).

Failure to validate user input

https://pbs.twimg.com/profile_images/850353410192752640/k8UKId9L_400x400.jpg

Jacob Bennett – Co-host of the North Meets South Web Podcast and Laravel News Podcast

Failing to validate user input is a big one. Many new developers assume that the values in their front-end forms are the only values that could be sent through to their application. Thankfully Laravel makes this laughably easy these days thanks to FormRequests and the use of `$this->validate()` in your controllers.”

Improper implementation of queue jobs scheduling

Alex Bowers – Software Engineer at Shopblocks

 The use of scheduling in a clustered setup often leads to duplicated jobs. Most developers do not have a clustered development environment and so do not notice or expect this. It is trivial to counteract.
Make use of your cache to store a mutex on each of the scheduled tasks. This way you can guarantee that the job will only be queued once, regardless of how many servers your application utilizes.

Not reading the source code

https://pbs.twimg.com/profile_images/740846488067117056/w0rW8xYP_400x400.jpg

James Brooks – Lead Developer, Blue Bay Travel

Not reading the source code! You’ll find so many interesting snippets in there.

Conclusion

We went to great lengths to identify and reach out to these elite programmers so we could gather what actually bugs people on a daily basis. Sadly, some of the above mistakes appears to be painstakingly obvious; the question is why do developers still make them? A simple answer perhaps, can be that they became too integrated with these practices hence, not willing to unlearn. Not too good.

Don’t ever get used to bad practices. Do your best to deliver and demand the best development practices possible. Do it for yourself and for others who might work on the projects in the future.

Blog

What career or freelance opportunities are there in Laravel besides development?

Posted on
What career or freelance opportunities are there in Laravel besides development?

Laravel is undoubtedly the most popular and widely used PHP framework by experienced software engineers across the world. One major reason is the fact that it offer developers the luxury of building robust applications with ease. As a developer, more often than not, all you need is an idea or a client’s project and you’re ready to put your Laravel skill to work. However, it’s not every time one gets interesting projects to work on. But of course, one has to keep making money.

What’s next? If you’re looking for other ways to put your Laravel skills to good use, these 5 tips will help you boost your portfolio, effectively break into the tech scene, while you make more money.

  • Offer paid laravel tutorials: It’s true there are several Laravel tutorials already, but not everyone wants to build the same thing. Offer exclusive tutorials to teach people how to build particular project of their choice.
  • Laravel Hosting service: With the numerous tutorials on hosting laravel projects, most developers still find this a very difficult task. Offer to help and get paid in return. You could even start your own hosting site exclusively for Laravel projects.
  • Be a Laravel mentor: A good place to start mentoring other developers is the code mentor website.
  • Offering security services: Security is a VERY important feature for any web applications.

I hope this article has been with helpful. Be open-minded, try new things and the sky is your starting point!

 

Reviews

REVIEWS: Botman – PHP library to build chat bots

Posted on
REVIEWS: Botman – PHP library to build chat bots

The proliferation of messenger apps has fueled the development of chatbots. With the incredible amount of platforms and tools now available, it is becoming a lot easier to build chatbots. If you’d like to build your own, Marcel Pociot’s Botman PHP library makes it faster to create a bot that works across multiple messaging platforms likes Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat.

Facebook Generic Template Screenshot

 

Yes, its that good! It really impressed me and I’ll show you why.

  • First, Botman is Open source – which makes it interesting since there’s a great chance of it being improved over time, and it is easy to integrate in either a pure PHP project or in projects based on Code Igniter or Laravel.
  • Flexibility and control – You can either build your own driver to connect BotMan with other messengers or to use it as an API. You decide which works for you.
  • Support for NLP – Yes, this is the best part! Botman support the use of NLP platforms like Wit.ai or Api.ai which are available through middlewares. This makes it easier for you to understand the user’s message and provide information about their intent. You can of course create your own middleware, isn’t it amazing?

Facebook Button Template Screenshot

 

Installation

Here is the documentation page to guide you to successfully install and customize Botman to soothe your needs. You can also see the Github repo here.

Conclusion

In conclusion, if you want to quickly get to building your chatbots using PHP, Botsman is the perfect choice to get one up and running.

Products

ImgShop

Posted on
ImgShop

Human are visual creatures! Research shows that 74% of blog visitors search for products based on items featured in pictures.

Own a website or blog? Make money from your image galleries.

FEATURES
  • Image Tagging with spots
  • Intelligent Tooltip position
  • Responsive tagged images
  • Images analytics dashboard
  • Auto generated HTML, JS, CSS code to use anywhere
  • Set currency to show on tags
  • One Click installation process
Products

Promotion Hub

Posted on
Promotion Hub

In today’s social world, not every social campaign goes viral and neither every social media post reaches the target audience. But this can all change via promotion hub. Make it easy for members of your organization or comapny to share company related content to personal social media networks. Reward socially engaged employees, increase organic reach of your brand