Firefox

Safari

Chrome

Internet Explorer

サービス

お見積り・お問い合わせ

各種サービスに関するお見積り、お問い合わせはこちらから

PHP開発規約策定

開発手法の標準化や、コード品質の担保のための規約を提供します。固有のフレームワークに特化した規約策定も可能です。

開発効率と運用・修正時の効率の向上

開発効率、および運用・修正時の効率の向上をはかるためには、PHPコーディングについて標準化を行うこと、そのための規約作りが必要になります。標準化を行うことで、コードの可読性を確保し、多数の開発者が統一的にコードを記述できるようになります。

以下は、PHP開発規約を定めた事例となります。

また、PHPフレームワークSymfonyを導入した場合のPHP開発規約の目次の例を示します。

  • 1. はじめに
    • 1.1. 前提条件
    • 1.2. 規約の運用と管理
    • 1.3. 規約の遵守
  • 2. PHPコーディング規約
    • 2.1. PHPファイル
      • 2.1.1. ファイル名
      • 2.1.2. 文字コード
    • 2.2. PHPコード一般
      • 2.2.1. 行に関する規約
      • 2.2.2. PHPコードの境界
      • 2.2.3. 演算子
      • 2.2.4. 予約語
    • 2.3. 変数・定数
      • 2.3.1. 文字列
      • 2.3.2. 配列
      • 2.3.3. 定数
    • 2.4. クラス・関数
      • 2.4.1. クラス
      • 2.4.2. 関数とメソッド
    • 2.5. 制御構造
      • 2.5.1. 分岐構造
      • 2.5.2. 繰り返し構造
      • 2.5.3. エラー制御
      • 2.5.4. コードの読み込み
      • 2.5.5. 禁止事項
    • 2.6. 命名規約
      • 2.6.1. クラス
      • 2.6.2. 関数・メソッド
      • 2.6.3. 変数
      • 2.6.4. 定数
    • 2.7. コメント
      • 2.7.1. 単行コメント
      • 2.7.2. ドキュメントブロック
  • 3. フレームワーク利用規約
    • 3.1. フレームワーク概要
      • 3.1.1. MVC
    • 3.2. ディレクトリ規則
      • 3.2.1. Symfonyのディレクトリ構造
      • 3.2.2. アプリケーション分離方式
      • 3.2.3. プログラムディレクトリ
      • 3.2.4. テンプレート用ディレクトリ
      • 3.2.5. 設定用ディレクトリ
      • 3.2.6. Web公開ディレクトリ
      • 3.2.7. キャッシュ用ディレクトリ
      • 3.2.8. ログ用ディレクトリ
      • 3.2.9. データ保存用ディレクトリ
      • 3.2.10. テストディレクトリ
    • 3.3. フレームワーク命名規則
      • 3.3.1. アプリケーション
      • 3.3.2. モジュール
      • 3.3.3. アクション
      • 3.3.4. モデル
      • 3.3.5. ビュー
      • 3.3.6. タスク
      • 3.3.7. ルート
    • 3.4. 設定規約
      • 3.4.1. PHP設定とフレームワーク設定
      • 3.4.2. 環境設定
      • 3.4.3. 設定ファイル形式
      • 3.4.4. 共通設定
      • 3.4.5. インクルード・パス設定
      • 3.4.6. schema.yml記述規約
    • 3.5. 基盤クラス利用規約
      • 3.5.1. フロントコントローラクラス
      • 3.5.2. リクエストクラス
      • 3.5.3. レスポンスクラス
      • 3.5.4. アクションクラス
    • 3.6. アクション記述規約
      • 3.6.1. データの取得
      • 3.6.2. リクエストタイプの確認
    • 3.7. データベース記述規約
      • 3.7.1. O/Rマッパー・PDO利用方針
      • 3.7.2. データ取得方針
      • 3.7.3. トランザクション・データ登録方針
      • 3.7.4. PDO取得方針
      • 3.7.5. マスタ・スレーブ方針
    • 3.8. ビュー記述規約
      • 3.8.1. モデルの生成禁止
      • 3.8.2. SQL, Tableクラスの利用禁止
      • 3.8.3. HTMLヘッダー
      • 3.8.4. エスケープ外し
      • 3.8.5. sfFormObject::getObjectの使用禁止
      • 3.8.6. 制御構造の記述
      • 3.8.7. URL記述規約
      • 3.8.8. コアクラスへのアクセス
    • 3.9. ユーザとセッション利用方針
      • 3.9.1. セッション設定方針
      • 3.9.2. ネイティブ関数とスーパーグローバル変数の禁止
      • 3.9.3. ユーザ規約
    • 3.10. フレームワーク機能利用方針
      • 3.10.1. フィルター規約
      • 3.10.2. フォーム規約
      • 3.10.3. 検索フォーム規約
      • 3.10.4. ページャ規約
      • 3.10.5. ヘルパー規約
      • 3.10.6. メーラー規約
      • 3.10.7. ルーティング規約
      • 3.10.8. タスク規約
      • 3.10.9. YAML利用規約
      • 3.10.10. アドミン・ジェネレータ利用規約
    • 3.11. セキュリティ規約
      • 3.11.1. XSS対策
      • 3.11.2. CSRF・ファイルアップロード対策
      • 3.11.3. SQLインジェクション対策
    • 3.12. 例外処理方針規約
      • 3.12.1. 例外クラス
      • 3.12.2. 例外の受け取り方
      • 3.12.3. エラーハンドリング
    • 3.13. ログ出力方針規約
      • 3.13.1. ログレベル
      • 3.13.2. ログ記載項目
      • 3.13.3. ログの設定
    • 3.14. バッチ規約
    • 3.15. キャッシュ利用規約
      • 3.15.1. キャッシュの保存先
      • 3.15.2. キャッシュの対象
      • 3.15.3. キャッシュの削除
    • 3.16. Doctrine利用規約
      • 3.16.1. Symfony上での設
      • 3.16.2. テーブルクラス
      • 3.16.3. Doctrine_Queryクラス
      • 3.16.4. レコードオブジェクトのメモリ消費
    • 3.17. 暗号化方針規約
      • 3.17.1. 不可逆暗号
      • 3.17.2. 可逆暗号
    • 3.18. 外部ライブラリ利用規約
    • 3.19. テスト記述規約
      • 3.19.1. sfPhpunitPluginの導入
      • 3.19.2. UNITテスト
      • 3.19.3. Functionalテスト
  • 4. SQL記述規約
  • 5. バージョン管理規約
    • 5.1. 全体構成
    • 5.2. 責任範囲
  • 6. コーディング禁止事項チェックリスト

Top

PHPフレームワーク「Symfony導入コンサルティング」

PHPフレームワークの1つであるSymfonyは、その機能の多さや保守性などから開発に使用したいというニーズが増えてきています。しかし、導入するにあたり、どのシステムにSymfonyを投入すべきか、いかに効率的に開発に組み込むかといった問題や、Symfonyの大きさゆえに理解が不完全な状態で使用してしまうリスクが発生します。
アシアルではこれまで、Symfonyの導入に対する技術支援や、自社内での開発経験、Symfonyに関するテクニカルセミナーの開催、日本初のSymfonyの専門書籍「Symfony×PHP」の執筆などを行ってきました。このようなSymfonyに関する豊富なノウハウをベースに、トータルなSymfonyの導入コンサルティングを提供します。
Symfony 導入コンサルティングでは、開発するシステムにSymfonyを導入するべきかどうかを検証する「導入前コンサルティング」、実際の導入をサポートする「導入支援コンサルティング」、開発フェーズでのフォローアップを行う「開発支援コンサルティング」を提供します。

導入前コンサルティング

Symfonyは確かに優れていますが、万能というわけではありませんし、他のフレームワークの方が適したアプリケーションも当然あります。そのため導入前コンサルティングとして、これまでの開発手法、アプリケーションの規模や種類、運用、開発体制などの面からSymfonyによるメリットがどれだけ生かせるかを調査します。その結果をもって、本当にSymfonyを使用すべきか、従来通りの開発手法が良いのか、より適したフレームワークがあるのかを判断します。

導入支援コンサルティング

開発着手前にSymfonyでの開発手法に慣れる必要がありますので、導入支援コンサルティングとして、開発者への技術研修を行います。また、必要に応じて、Symfonyを利用することを念頭においたアプリケーション設計の最適化や、開発に迅速に着手するための基盤構築も実施します。
開発者全体への研修では、開発者のレベルに合わせカリキュラムを適用し、実施します。この研修によって基本事項を理解し、開発フェーズで効率的に開発を行うことが可能となります。また、フレームワークを使用した開発を行う場合、フレームワークを深く理解した開発者がいることによって開発効率が格段に向上するので、別途、開発リーダーに対してSymfonyの根本的な部分を理解するための研修を行います。

開発支援コンサルティング

実際に開発を進めていくと、どのようにSymfonyを使えばよいか疑問に思うことが多々発生します。
開発支援コンサルティングでは、ある機能を実装するのにSymfonyの本体やプラグインの機能を利用できるか、実際にどのように記述すればよいのかといった基本事項を始め、複数機能の組み合わせや、プログラム設計に対するアドバイスなどを行います。これによって、途中で止まることなくスムーズに効率的な開発を行うことができます。

Top

PHP開発補助製品

  • SSLモバイル
  • JpGraph

Webサービス&携帯サービス

  • Monaca
  • PHPプロ!
  • OnsenUI