Linuxにおけるファイル作成時の最大権限問題とアップロードファイルの権限計算(PHPでの~記号の使用)

PHPでのファイル操作において、Linuxシステム上の権限設定に関する注意点が存在します。特にファイルアップロード処理における権限設定は、セキュリティ面で重要です。 @chmod($filePath, 0666 & ~umask()); この式では、ファイルのアクセス権を適切に設定するための計算が行われています。Linuxにおける~(チルダ)記号はホームディレクトリを示すものですが、ここ ...

6月24日 18:16 投稿

NginxサブディレクトリでのLaravelリバースプロキシ設定とURL生成問題の解決策

最近、WeChat H5プロジェクトに取り組んでいます。ビジネス要件により、ドメインは同一である必要があり、PHPリクエストはNginxでリバースプロキシされています。通常はページ作成は不要ですが、時間が不足していたため、いくつかのページを組み込みました。 location /weixin/ { proxy_pass http://127.0.0.1:9000/; proxy_set_header Host $host ...

6月23日 23:40 投稿

オープンPHPプロジェクト:php-code-generator 人気PHPフレームワークのCURD用コードジェネレーター

php-code-generator PHPをベースとしたコードジェネレーターです。 テスト環境 PHP 8.0以上 サポート範囲 現在はLaravelのみをサポートしていますが、今後のバージョンではWebMan、ThinkPHPなどもサポート予定です。模板の提出も歓迎します。 Composerでのインストール composer require zx/php-code-generator 使用方法 このジェネレーターはテンプレートレンダリ ...

6月19日 18:30 投稿

Laravel 5.6でのCRUD操作実装

基本的なテストが通ったので、CRUD機能を実装していきます。 実装手順 コントローラーの作成 ルーティング設定 CRUD機能の開発 1 コントローラー生成 php artisan make:controller TasksController 生成されたファイルは app/Http/Controllers ディレクトリ内に保存されます。 2 ルーティング設定(routes/web.phpに追加) Route::resource('tasks', 'TasksController') ...

6月12日 20:55 投稿

PHPコーディング規約:一貫性のある読みやすいプロジェクトコードの作成方法

2019年5月17日10:50:12 はじめに 現在は随時記載しており、後日体系的に整理します。 PHPのコードスタイルが自由すぎることで、プロジェクト内でN通りの記述方法が混在することが問題です。特に以下のケースが挙げられます: 単純な機能に複数のコールバック関数をネストし、可読性が著しく低下 if/else文のコードブロックに{}を省略(IDE依存でエラーになり得る) 匿名 ...

6月6日 23:59 投稿

Monicaの多言語インターフェース実装方法

Monicaはオープンソースの連絡先管理ツールで、WebインターフェースとRESTful APIを提供し、連絡先データの管理や通信履歴の追跡を容易にします。本記事では、Monicaの多言語対応メカニズムを解説し、開発者および利用者が国際化設定を理解し、実装するための手順を詳細に説明します。ローカライゼーションシステムは言語リソースをファイル単位で管理する設計を採用してい ...

6月3日 22:30 投稿

Laravel5.3におけるマルチユーザーログインの実装方法(Laravel5.4でも動作確認)

概要 Laravelの認証機能は、ガード(guards)とプロバイダ(providers)の2つのコンポーネントで構成されています。ガードは各リクエストにおいてユーザーがどのように認証されるかを定義し、例えばセッションガードはセッションストレージの状態を維持し、クッキーおよびトークンガードはAPIトークン付きのリクエストでの認証を処理します。プロバイダは永続化されたスト ...

5月28日 23:46 投稿

MySQLを活用したグローバル注文ID生成システムの実装

従来のID生成手法と課題 大規模なシステムにおいて、一意な注文ID(オーダー番号)を生成する一般的な手法として、主に以下の2つのアプローチが採用されてきました。 1. タイムスタンプと乱数の組み合わせ 日時やマイクロ秒に乱数を付与してIDを生成する方法です。実装は簡単ですが、高并发な環境(同時アクセスが多い状況)では重複が発生するリスクがあります。重複を防 ...

5月26日 08:43 投稿

Laravelで__callと__callStaticを使った静的メソッドと動的メソッドの相互呼び出しについて

LaravelのORMがなぜ便利なのかを理解したいと思っていましたが、仕事が忙しくてなかなか時間が取れませんでした。最近自分で何かを作っている際に、呼び出し方を間違えないようにするためにソースコードを調べてみました。 $counter = AdminLog::where('is_delete', GlobalCode::NORMAL); この静的呼び出しを追跡すると、このクラスは実際には動的メソッドであることがわ ...

5月26日 00:43 投稿

PHPアプリケーションにおける大規模Excelデータの高速エクスポート手法: XLSWriterの実装と最適化

10万行を超える大規模データセットをExcel形式でエクスポートする際、PHPアプリケーションではメモリ使用量と処理時間が主要な課題となります。XLSWriter拡張モジュールを活用することで、効率的なデータ処理が実現可能です。この拡張モジュールはPECLパッケージとして提供され、PHP 8環境での動作をサポートしています。Windows開発環境では事前ビルド済みDLLが利用可能で ...

5月22日 00:20 投稿