This is the second post on using the WordPress as API for a Laravel application. We describe how to setup the authentication, so that Laravel can retrieve the posts and pages created in WordPress. We use this setup in a project that was originally created in WordPress. It already had a lot of content, and also for new posts WordPress was the prefered choice, because of its great features to manage posts, revisions, comments and images. At the same time, Laravel is our prefered choice to build the custom features of the project, because of its great flexibility.Read more
Nowadays, we mainly build custom websites, webshops and web apps using Laravel. Many of those websites have info pages or blog posts where the administrators want to be in charge of the content. How do we achieve this? We tried different wysiwyg editors, but it turned out that the functionality was too limited. Then we started thinking about WordPress, our framework of choice in the past. It has a great admin panel for maintaining content pages or a blog.
In this post we discuss how to use WordPress as a headless CMS and combine it with the flexibility of Laravel to build custom websites and web apps.Read more
This is the last part of a blog series on building a basic admin panel. Although there are many admin packages available, including Laravel’s own Spark package, we experienced that it’s also very easy to an admin panel yourself. We defined three major topics that are found in all admin panels that we have build. We started with the authentication of users (part 1) and continued with basic CRUD operation (part 2). In this third part the focus is on authorization: in an admin panel there are often users with different roles. Each user role may have access to different parts of the admin panel and is allowed to perform specific actions.Read more
Admin panels are an essential part of many web apps and online platforms. Although there are many admin packages available, including Laravel’s own Spark package, we experienced that it’s also very easy to create an admin panel from scratch. The main advantages: you know every detail of the admin panel and once the project is growing and more functionality is required, it can be easily extended. In the second part of the series on building your own basic admin panel we focus on CRUD operations.Read more
Many web apps and online platforms need some kind of administration panel to manage the their public parts. Only a limited number of users with a specific role or privileges have access to this admin panel. Examples include a webshop, hour registration tool, cooking website or a blog.
To build such an admin panel you have several options. We have build a lot of administration panels and the PHP framework Laravel came out as our favorite. For Laravel, several admin packages are already available, including the offical Spark package. However, we experienced that Laravel itself already has so much features to quickly build a basic admin panel yourself that a package isn’t always needed. In this blog series, we like to share our approach.Read more
It’s now 5 years since we built our first web application and a lot has happened since then. We started with building applications from scratch without any framework. Then we realized it made no sense to write every piece of code ourselves and we started exploring the possibilities to build applications in WordPress. Although WordPress is a great tool, it didn’t have the flexibility we need to build custom web apps. Nowadays we use a combination of Laravel and Vue. We are very happy with the combination of these frameworks and decide to write a blog series about building web applications using Laravel and Vue. This is the first blog of the series.Read more
When an application grows bigger and code gets more involved, chances are that you are accidentally reusing the same function or class name. As a consequence, an error occurs. If you’re using external libraries, you even have a bigger change of creating an error. The solution is to use namespacing and this blog covers an introduction to this topic.Read more