Markup in Drupal
CourseMeet Drupal Developer Mike Bell
Blog postIn this Drupalize.Me interview, we talk with Mike Bell, a Senior Developer at CTI Digital. This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role and this interview with Mike focuses on the developer role.
At this point, whether we've decided to use a third-party pre-rendering service or we've written our own isomorphic JavaScript application to serve as the front-end of our website, our hosting requirements have definitely gotten more complex. Let's take a look at the continuum of decoupled site architectures and start to come up with a list of things to keep in mind when considering their hosting requirements.
There's been a lot written about API design, it's probably not surprising there are several books written about the subject. It also seems like nearly every cloud-based service provides an API to allow access to your data. In this tutorial, we'll attempt to condense this information and answer the following questions:
- Are there different types of API paradigms?
- What kinds of considerations do we need to make when building an API for our decoupled site?
- And, what's this REST thing everyone is talking about?
Let's dig into those questions one at a time.
Andrew Berry, from Lullabot, has written a great article asking Should you Decouple? Like most architectural decisions there are trade-offs to consider with a decoupled approach. Let's take a look at some of the pros and cons of a decoupled approach. Is it the right choice for your project?
A Simple Drupal 7 to Drupal 8 Migration
Blog postWith the official release date of Drupal 8 right around the corner, I wanted to take a look at how much effort would be required to migrate our blog to Drupal 8. In this blog post we'll take a look at the current documentation, and status of the migrate module in Drupal core as well as a couple of contributed modules that can help us out.
Decoupling Explained
FreeIf you're interested in decoupling Drupal, there's a good chance you've heard at least some of the buzz in the Drupalverse about "headless" or decoupled Drupal. Or perhaps you watched Dries' keynote from DrupalCon Barcelona or read Dries' blog post about the future of decoupled Drupal. Whatever the case may be, this tutorial and the ones that follow will walk you through building a simple decoupled blog. In Dries' terminology the demo site we'll be building is "fully decoupled." While it would be trivial to adopt similar techniques to build a progressively decoupled site, let's dig a bit deeper into what it means to build a decoupled Drupal site.
Meet Project Manager Sean Lange
Blog postWe asked Sean Lange what it means to be a project manager and for some advice from his experience. Sean is an advocate for developers and project manager at Lullabot, a fully distributed digital agency. Read more about Sean's approach to his role as a project manager in this Drupalize.Me interview, part of our Drupal roles series.
Role-Based Learning Pathways
Blog postToday we're introducing a new learning tool: role-based learning pathways!
Do you want to build Drupal sites? Do you want to work with Drupal themes or become a Drupal developer? If yes, then these pathways are for you. Check them out, and start learning (more) Drupal!
LaunchCode Education Partnership
Blog postWe're now a LaunchCode Education Partner, and we're thrilled to introduce you to this great organization!
Meet Front-End Developer Helena Zubkow
Blog postIn this Drupalize.Me interview, we talk with Helena Zubkow, front-end developer at Lullabot, based in Orlando, Florida. This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role and this interview with Helena focuses on the front-end developer role.
In this series, Object-Oriented PHP Part 3, we'll teach you all about inheritance in PHP, including how that works in classes, abstractions, and interfaces. These concepts are keys to understanding the code you will see in Drupal 8 modules.
In this series, we’ll continue to build the spaceship app that we’ve started in Introduction to Object-Oriented PHP and Object-Oriented PHP Part 2. In this tutorial, I’ll show you how to use the extends
keyword in PHP so that you can use it to inherit properties and methods from another class
.
Additional resources
In this tutorial, I will show you how to override a method that you’ve inherited from another class. By having two classes we are starting to shape the different behaviors and properties of each, while still keeping most things in common and not duplicated.
In this tutorial, I will show you the difference between public, private, and protected methods or properties in PHP classes. By the end of this lesson you will learn how to make things private at first, protected once you need to access them in a subclass, and public when you need to use it outside of its class and subclass.
Additional resources
In this tutorial, I will show you how to get around the problem of calling a function that you have overridden in your class: how to call the parent class method.
Additional resources
In this tutorial, I will show you how we can build a better blueprint and hierarchical structure for our app’s classes through the use of abstract classes.
Additional resources
In this tutorial, I will show you the power of abstract classes and how you can enforce subclasses to define certain functions. In this way, you can share logic but for things that are really specific to subclasses, you can force them to define certain functions, but with the specific logic required.
Additional resources
In this tutorial, I will show you how to extend an abstract class and ensure that all the methods that are required by the abstract class are included in this new class.
Additional resources
In this tutorial, I will show you how to handle new requirements for data storage by creating two smaller abstract classes out of our original data storage class. By creating these new abstract classes, we can build more flexibility into our code.