水曜日, 7月 23, 2025

PHP: Composer の使い方

PHP には Composer という優れたパッケージ管理ツールがあります。最近、PHP サイトを Composer を使って再構築する作業を行いましたので、方法を書いておきたいと思います。

Composerとは?

ComposerはPHPのパッケージ管理ツールです。PythonにおけるPoetryに似ており、依存関係の管理とプロジェクトの構造化を支援してくれます。

  • composer.json によってすべての依存情報を一元管理

  • Packagistというリポジトリから多くのパッケージをインストール可能

  • Composerの最大の魅力のひとつが、オートローディング機能です。PSR-4準拠の設定を行えば、名前空間に応じてクラスファイルが自動的に読み込まれます。


インストール方法はこちら⇒公式サイト


プロジェクトの初期化

プロジェクトフォルダで以下のコマンドを実行して composer.json を生成します:

composer init

オートローディング設定

composer.json に以下を追加してクラスを読み込みます。

"autoload": {
        "psr-4": {
            "Pages\\": "src/Pages/"
        }
    }

追加後は以下のコマンドを実行して、オートロード情報を更新します。

composer dump-autoload

使用法

EditPage というクラスを作るなら、src/Pages/EditPage.php ファイルで namespace を指定し、クラスを定義します。

namespace Pages;

class EditPage {
    public static function hello() {
        return "EditPage::hello() が呼ばれました。";
    }
}

EditPage を使うファイルで以下を設定します。

require 'vendor/autoload.php';

use Pages\EditPage;

echo EditPage::hello();

火曜日, 7月 22, 2025

Python: Poetry の使い方

 Python のパッケージ管理で便利なツールがあります。pip や venv などもいいですが、ここでは poetry の使い方を説明したいと思います。


インストール


PoetryはPython 3.7以上で動作します。
curl -sSL https://install.python-poetry.org | python3 -


使い方


まず新規プロジェクトを作成します。
 
poetry new <proj>

このコマンドで以下のファイルが作成されます。

proj/
├── pyproject.toml
├── README.md
├── proj/
│   └── __init__.py
└── tests/
    └── __init__.py


Python モジュールの追加


add コマンドを使ってモジュールを追加します。

poetry add requests


追加されたモジュールは pyproject.toml を見ると確認できます。


仮想環境の管理


run コマンドを使って作成した仮想環境下でプログラムを実行します。

poetry run py script.py


仮想環境の構築


GitHub からプロジェクトをダウンロードしたら、install コマンドを使ってモジュールをインストールします。

poetry install

poetry は仮想環境を管理するための分かりやすい・使いやすい優れたツールです。

水曜日, 7月 02, 2025

Laravel サイトのアップグレード

 Laravel のサイトをアップグレードする機会がありましたので、その方法をここで書いておきたいと思います。かなり構成というか書き方が変わってきているので注意が必要です。

1. 新しいLaravelプロジェクトの作成

まずはクリーンなLaravel環境を作成します。

composer create-project laravel/laravel new-site

2. 既存コードの移行

必要なファイルを新しいプロジェクトにコピーします:

  • コントローラapp/Http/Controllers

  • モデルapp/Models

  • ビューresources/views

  • ルーティングroutes/web.php または routes/api.php

  • ミドルウェア、サービス、ジョブなど → 必要に応じて

3. Composerのオートロードを更新

クラスのオートロードを再生成します。

composer dump-autoload

4. 必要なパッケージの再インストール

Spatieの権限管理パッケージを使っている場合なら

composer require spatie/laravel-permission

5. Apacheの設定に注意

重要なのが、Apacheの mod_rewrite モジュールを有効化することです。これはひっかかりました。これを忘れるとルーティングが正しく機能せず、トップページしか表示できません。

LoadModule rewrite_module modules/mod_rewrite.so

6. ルーティングの見直し・更新

Laravelのバージョンアップに伴い、ルーティングの記述方法や構文が変更されていることがあります

  • クロージャベースのルートやコントローラルートにおける名前空間の指定方法

  • Route::controller()Route::middleware() を使用したグルーピング構文

  • Web/APIルートファイルでのミドルウェアやプレフィックスの指定

Laravel 8以降では、RouteServiceProvider が変更されましたので変更が必要な場合があります。web.php の記述はこれで動きます。

use App\Http\Controllers\CaseController;

Route::resource('case', CaseController::class);

PHP: Composer の使い方

PHP には Composer という優れたパッケージ管理ツールがあります。最近、PHP サイトを Composer を使って再構築する作業を行いましたので、方法を書いておきたいと思います。 Composerとは? ComposerはPHPのパッケージ管理ツールです。Py...