Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free

Laravel posts

  • By Oluyemi Olususi
    Laravelアプリケーションでリポジトリパターンを使う方法 Laravelアプリケーションでリポジトリパターンを使う方法

    この記事はOluyemi Olususiこちらで公開した記事(英語)を日本語化したものです。

    リポジトリは、ドメインとデータマッピングレイヤー間の抽象化レイヤーとして定義できます。これにより、コレクション的なインターフェイスを通じてドメインオブジェクトにアクセスして両者の仲介手段を提供します。

    LaravelSymfonyなど、最新のPHPフレームワークは、オブジェクト関係マッピング(ORM)を介してデータベースを操作します。SymfonyのデフォルトORMはDoctrineで、LaravelはEloquentを使用します。

    ともに、データベース操作のために異なるアプローチがとられます。Eloquentの場合、データベーステーブルごとにモデルが生成され、操作の基盤が形成されます。一方、Doctrineはリポジトリパターンを使用します。各エンティティには対応するリポジトリがあり、データベースを操作するヘルパー関数が格納されています。Laravelは標準でこの機能は提供していませんが、Laravelプロジェクトでリポジトリパターンを使用することは可能です。

    リポジトリパターンを使う主なメリットは、依存性逆転の原則(具体化でなく抽象化コード)を使用できる点です。これにより、例えば後でEloquentがサポートしないデータソースに変更した場合などに、変更の影響を受けにくいコードを作成できます。

    データベース関連のロジックを一箇所で管理することにより、コードの構成を整理したり、重複を避けることにもつながります。このようなメリットは小規模のプロジェクトではすぐに …

    Read More
  • By Kenneth Ekandem
    How to Create a Restful CRUD API in PHP Using Laravel and Google Firebase How to Create a Restful CRUD API in PHP Using Laravel and Google Firebase

    In this tutorial, you will learn how to create a RESTful CRUD (Create, Read, Update, and Delete) API with Laravel that stores its data in a Firebase realtime database.

    What is Firebase?

    Google Firebase is a Google-backed application development platform that enables developers to develop iOS, Android, and Web-based applications. Firebase provides tools for tracking analytics, reporting and fixing app crashes, creating marketing and product experiments, and much more.

    So, without wasting time, let us dive in.

    Prerequisites

    1. PHP 7.4, though ideally 8.1.
    2. Composer installed globally.
    3. jq.
    4. Prior experience with Laravel.
    5. A text editor such as Visual Studio Code or an IDE such as PhpStorm.
    6. A Google account.

    Install and set up the Laravel application

    To begin, you first have to install a Laravel application and run it on your local development machine.

    To do that, in your terminal, run the command …

    Read More
  • By Oluyemi Olususi
    DockerとLaravelを使って開発してみよう DockerとLaravelを使って開発してみよう

    この記事はOluyemi Olususiこちらで公開した記事(英語)を日本語化したものです。

    あなたが所属する開発チームは最近アプリをリリースし、そのアプリが短期間で大ヒットしていることが分かりました。利用者からの需要は収まらず、開発チームは「スケールアップ」について検討を始めました。

    かつて、このスケールアップ作業は「垂直スケーリング」と呼ばれ、高機能のサーバーに投資することを意味していましたが、最近のコンテナ技術の台頭により、低コストで迅速にコンテナを追加できるようになり、アプリケーションの水平スケーリングが可能になりました。

    これにより、2つの大きなメリットがもたらされます。1つ目は、高機能のサーバーに追加コストをかける必要がないことです。2つ目は、現在の顧客の需要に基づいて、アプリケーションのスケールアップとスケールダウンが可能になることです。

    本稿では、LaravelプロジェクトでDockerを使用する方法について紹介します。Dockerを使えば、アプリケーションの使用量の急増と急減の両方に対応してスケーリング可能なアプリケーションを開発できます。

    以下のチュートリアルでは、ApacheをWebサーバーとして使用し、PostgreSQLでデータベースエンジンを提供します。著名な歴史家による有名な名言を表示するアプリケーションを作成します。

    必要条件

    このチュートリアルを進めるには、以下の項目が必要です。

    • PHPとLaravelの基本的な知識。
    • コンテナ、イメージ、ネットワーク、サービスなど、基本的なDocker用語の知識。Jeff Hale …
    Read More
  • By Kenneth Ekandem
    How to Use Multiple Authentication Providers in Lumen How to Use Multiple Authentication Providers in Lumen

    As we all know, authentication is a very important aspect of building an application because you want to ensure that users can only access routes and information that they're allowed to.

    Authentication takes many forms and a common one is tokenization which we will be focusing on in this tutorial.

    Tokenization replaces a sensitive data element, for example, user information such as user id's, names, and emails, with a non-sensitive substitute, known as a token.

    But how will issuing tokens be beneficial to multiple authentications? Well, since every user has a unique token, and they can be stored in separate database tables, the token can be queried across these tables to find a match, and based on which return a true, the route can be limited or opened for the user.

    In this tutorial, you will learn how to use multiple authentication providers in Lumen to limit access to routes, …

    Read More
  • By Prosper Ugbovo
    How to Manage Dates and Times in PHP Using Carbon How to Manage Dates And Times In PHP Using Carbon

    Date and time manipulation is one of a few frequently-experienced challenges of developing web apps in PHP. And one of it's most prevalent issues is identifying time disparities and making them readable, such as "one hour ago".

    However, handling dates and times, and issues such as this, is greatly simplified by using Carbon; it's a library which reduces lengthy hours of coding and debugging to only a few lines of code. This is because Carbon, created by Brian Nesbit, extends PHP's own DateTime class and makes it much simpler to use.

    If you've not heard of it before, it is self-described as:

    A basic PHP API extension for DateTime

    In this tutorial, you will learn Carbon's core features and capabilities, giving you the ability to far more easily manipulate date and time in PHP.

    Prerequisites

    To follow this tutorial you need the following components:

    • PHP 7.4 or …
    Read More
  • By Oluyemi Olususi
    Laravel Passportを使用したPHPによるセキュアなAPIの構築 Laravel Passportを使用したPHPによるセキュアなAPIの構築

    この記事はOluyemi Olususiこちらで公開した記事(英語)を日本語化したものです。

    モバイルアプリケーションのバックエンドを構築する場合や、最新のJavaScriptフレームワークを使用する場合は、RESTful APIを避けて通ることはできません。APIは、2つのソフトウェアプログラムが相互に通信するためのインターフェイスです。APIを使用した通信では、リクエスト間でセッション状態が保持されない点に注意が必要です。そのため、ユーザーを認証し、認可するためにトークンを使用する必要があります。

    Laravelにはセキュリティを適切に確保できる仕組みがあらかじめ用意されているため、このようなリソースを簡単に構築できます。このチュートリアルでは、Laravel Passportを使用してセキュアなLaravelバックエンドAPIを構築する方法について説明します。最後まで進めると、セキュアなLaravel APIを作成する方法や、既存のAPIのセキュリティを強化する方法を習得できます。

    必要条件

    このチュートリアルを進めるにあたり、Laravelを使用したアプリケーション構築の基礎知識があると役立ちます。また、依存関係を管理するために、Composerがグローバルインストールされていること、エンドポイントのテストにPostmanがそれぞれ必要です。

    構築する内容

    大手テクノロジー企業のCEOのリストを作成するAPIを構築し、セキュアなLaravel APIの構築方法を学びます。このアプリケーションは、各CEOについて以下の情報を一覧表示します。

    • 名 …
    Read More
  • By Chimezie Enyinnaya
    Laravel SanctumでPHPのRESTful APIを構築する Laravel SanctumでPHPのRESTful APIを構築する

    この記事はソフトウェアエンジニアのChimezie Enyinnayaこちらで公開した記事(英語)を日本語化したものです。

    Laravel Sanctum(旧称Airlock)は、シングルページアプリケーション(SPA)、モバイルアプリケーションや基本的なトークンベースのAPI用に作成されたLaravelパッケージです。これによりAPIトークンをユーザーに発行し、Laravelセッションを使用したシングルページアプリケーション認証が行えます。Laravel Sanctumは、既存のLaravel Passportパッケージの簡易版です。PassportよりもSanctumを選ぶ理由は以下のとおりです。

    1. PassportはOAuth2認証が実装されています。これを使用しないのであれば、APIトークンの発行はSanctumで行えます。
    2. Sanctumは超軽量でシンプルに実装できます。
    3. Sanctumは、Vue、Angular、Reactなどのシングルページアプリケーションに対応しています。モバイルアプリケーション認証も対応しています。

    必要条件

    このチュートリアルを進めるには次の項目が必要です。

    1. Laravelの知識。
    2. Insomniaなど、HTTPクライアントの使用に関する基本知識。

    Laravel Sanctumでは多くのことができますが、このチュートリアルではLaravel Sanctumを使用したAPIの構築方法を説明します。

    はじめに

    まず、新規のLaravelアプリケーションを作成します。ターミナルで次のコマンドを実行してください。

    Read More
  • By Oluyemi Olususi
    PHPUnitでLaravelのAPIをユニットテストする PHPUnitでLaravelのAPIをユニットテストする

    この記事はOluyemi Olususiこちらで公開した記事(英語)を日本語化したものです。

    アプリケーションを正常に動作させるためのベストプラクティスとして、テストがあります。指定されたソフトウェア要件が正しく実装されているかを確認するためのユニットテスト、自動機能テスト、APIエンドポイントテストの実施などです。プロジェクトで変更を実施した場合や、新たな機能を実装した場合でも、これらのテストを行うことにより、アプリケーションの動作不良を確実に回避できます。このような開発方法をテスト駆動開発と呼びます。

    人気のあるPHPフレームワークであるLaravelも、テストの容易さを念頭に構築されており、PHPUnitというテストスイートが付属しています。PHPUnitはPHP開発者の生産性を向上するテストフレームワークです。ユニットテストと呼ばれる最小単位のコンポーネントでPHPコードをテストすることを主な目的として設計されていますが、ユニットテスト以外のテストにも柔軟に応用することができます。

    このチュートリアルでは、テスト駆動開発の手法に従い、Laravel APIプロジェクトのエンドポイントをテストする方法について説明します。まず、失敗する前提のテストを記述します。その後、テストに合格するコードを記述します。チュートリアルを最後まで進めると、基本的なテストの実施方法について学び、新規または既存のLaravel APIプロジェクトに応用できるようになります。

    必要条件

    このチュートリアルを進めるにあたり、Laravelを使用したアプリケーション構築の基礎 …

    Read More
  • By Funke Olasupo
    Send Emails In Laravel 8 Using Gmail's SMTP Server Send Emails In Laravel Using Gmail's SMTP Server(1).png

    Sending email has become an essential part of modern web applications. For example, they are a great way to communicate with users, when they register, when verifying registrations, and when resetting passwords.

    So in this tutorial, you will learn how to send emails in Laravel using a Gmail SMTP server.

    Prerequisites

    To follow this tutorial you need the following:

    Overview

    In certain circumstances, your local server may not send emails when using the default PHP mail() method, or it may make it quite problematic to do so. In such scenarios, using a dedicated email library, such as Symfony's Mailer component, can be a practical alternative.

    You could also use one of the many email drivers which Laravel supports, including Mailgun, Amazon SES, and Postmark, and of course, Twilio's own SendGrid. However, …

    Read More
  • By Oluyemi Olususi
    How to Use the Repository Pattern in a Laravel Application How to Use the Repository Pattern in a Laravel Application Header

    A repository can be defined as a layer of abstraction between the domain and data mapping layers, one that provides an avenue of mediation between both, via a collection-like interface for accessing domain objects.

    Modern PHP frameworks, such as Laravel and Symfony, interact with databases via Object-relational mappers (ORMs); Symfony uses Doctrine as its default ORM and Laravel uses Eloquent.

    Both take different approaches in how database interaction works. With Eloquent, Models are generated for each database table, forming the basis of interaction. Doctrine, however, uses the Repository pattern where each Entity has a corresponding repository containing helper functions to interact with the database. While Laravel doesn't provide this functionality out of the box, it is possible to use the Repository pattern in Laravel projects.

    A key benefit of the Repository pattern is that it allows us to use the Principle of Dependency Inversion (or code to …

    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.