Web Session -2ページ目

Web Session

Webマーケティング × クリエイティブ

Zend社の開発しているZendFrameworkは、CakePHPに並び、PHPでは有名なフレームワークです。


近年ZendFramework2が主流となってきておりますが、ZendFramework1もまだまだ捨てたものではありません。

今回は、ZendFramework1をLINUXベースのOSを使わずに、Xサーバーへアップし設定する方法を紹介します。


1. ダウンロード


まずは下記よりダウンロードしてください。

https://framework.zend.com/downloads/archives


※今回、私が実施したのはZendFramework1のものです。

2は同じようなやり方でできるかわかりませんので、

ZendFramework2のセットアップを行う上で足りない情報は各位でお調べください。


2. libraryフォルダのコピー


ダウンロードしたらzipファイルを解凍し、

libraryファイルのみ、アップ用のローカルフォルダへコピーします。


Xサーバーは ドメイン名/public_html/ がドメインのルートとなりますが、

public_html直下ではなく、一階層上に設置したほうがよさそうです。


3. php.iniの設定を変更


libraryフォルダがアップできたら、php.iniを編集します。

直書きでも、Xサーバー側から編集してもよいです。


include_path = "/home/ユーザー名/ドメイン名/library"

フルパスでlibraryディレクトリをincludeで読み込みます。


4. libraryフォルダが読み込まれているかテストアップ


public_htmlの直下に適当なファイルを作成し、下記のように記述します。

ここではindex.phpというファイルに書き込むことにします。

 

 

index.php


<?php
require_once 'Zend/Version.php';
echo 'Hello, Zend Framework! Ver ' . Zend_Version::VERSION;

5. テストファイルをブラウザで確認


アップしたテストファイルをブラウザで確認します。



Hello, Zend Framework! Ver 1.12.18

と表示されていたら成功です。


PHPで取得した多次元の配列を単次元の配列へ変換するクラスです。


関数へ代入した配列の中に値が入っているかを確認し、

配列と判定された場合、配列の中身を一つずつ取り出します。


さらに、配列から取り出した値が配列だった場合、

もう一度、ArrayFlatten($array)に値を投げます。


配列でなかった場合、$result配列に値を代入し、単次元化していきます。


class ArrayFlatten {
function ArrayFlatten($array) {
$result = array();
if(!empty($array)) {
foreach($array as $val){
if(is_array($val)){
$result = array_merge($result, $this->ArrayFlatten($val));
}else{
$result[] = $val;
}
}
}
return $result;
}
}

使用例


$array = array(
array(
"first" => "a",
"second" => "b",
"third" => "c",
),
array(
"forth" => "d",
array(
"fifth" => "e"
)
)
);

$single_array = new ArrayFlatten($array);

実行結果


Array (
[0] => a,
[1] => b,
[2] => c,
[3] => d,
[4] => e,
)