share facebook facebook twitter menu hatena pocket slack

2012.02.06 MON

ZendFrameworkによるシステム構築 vol.1 プロジェクト作成

櫛田 草平

WRITTEN BY 櫛田 草平

こんにちは。
職人見習いの高嶋です。

PHP + ZendFrameworkのコンビでシステムを構築する際の手順を数回に分けて記していきます。

ZendFrameworkはオープンソースのフレームワークで、多様性に富んでいますが、堅いルールに縛られる事のないフレームワークなので好んで使用しています。

ただ堅いルールが無い分、開発者によって十人十色の構造形態になりやすく、私もこれから書く構築方法がベストなのかは不明です。

■目標

一般的なシステムはユーザ側と管理者側にシステムが分かれていて且つユーザ側のURLにはパスInfo的にパラメータが付加・制御できれば大概のモノが作れると思います。

http://hoge.jp/admin/ => 管理側URL
http://hoge.jp/12345/fuga => ユーザ側のURL一例

特に上記のユーザ側URLの例は一般的には下記の形が未だ多く見られますが、見栄えを良くしようと思います。
これにより、SEO的にも良いと思います。

http://hoge.jp/fuga.php?id=12345

前提としては以下の条件下での説明となります。

CentOS v5.x
PHP v5.3.x
ZendFramework v1.11.11
Smarty 3.1.7
PostgreSQL v8.4.x

プロジェクトディレクトリ /web/hoge

■ZendFrameworkのダウンロード

Zend Framework: Downloads

上記から最新の『Zend Framework Full Package』をダウンロードします。
Webサーバ機能が付いたパッケージとかありますが、シンプルにフレームワークのみ利用します。

ダウンロード、解凍後下記に置きます。

/usr/local/ZendFramework

■プロジェクトディレクトリの作成

ZendFrameworkにはターミナル上からコマンドでディレクトリ雛型を作成してくれるCLIツールが備わっています。

> cd /web/hoge
> /usr/local/ZendFramework/bin/zf.sh create project hoge

するとプロジェクトのディレクトリの基本構造がMVC構成で作成されます。

┬ .zfproject.xml
├ application
│├ Bootstrap.php
│├ configs
││└ application.ini
│├ controllers
││├ IndexController.php
││└ ErrorController.php
│├ models
│└ views
│ ├ helpers
│ └ scripts
│  ├ [コントローラ名]
│  │├ index.phtml
│  │└ [アクション名].phtml
│  └ error
├ library
└ public
 ├ .htaccess
 └ index.php

以下のURLにアクセスして画面が表示されれば問題ありません。

http://hoge.jp/index
※indexは省略可能

※この記事は、なかの人(piro556)が書いています。

櫛田 草平

櫛田 草平

cloudpackで運用、保守、構築、夜間対応を担当しており、日々様々な課題に対応していますのでこの経験を記事にしていけたらと思います。 櫛田 草平

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。