//// +++ DB接続 +++ //// include 'dbconnect.php'; //// +++ ルーティング +++ //// // urlから情報を受取る (リソース名とアクション名) // explode()とは // 第一引数に指定した文字列で第二引数に指定した文字列を分割し、 // 配列として返す $params = explode('/', $_GET['url']); // var_dump($params); $resource = $params[0]; $action = $params[1]; if (count($params) > 2) { $id = $params[2]; } // リソース名を複数形に変換する処理 $plural_resource = singular2plural($resource); // model呼び出す include './models/' . $resource . '.php'; include './models/category.php'; // controller呼び出す include './controllers/' . $plural_resource . '_controller.php'; // リソース名がdeleteなら削除処理する if ($action == 'delete') { $BlogsController = new BlogsController($db, $plural_resource); $BlogsController->delete($id); } // viewの形成を楽にするヘルパーファイルを読み込み include './views/helpers/application_helper.php'; // レイアウトファイルを読み込み include './views/layouts/application.php'; // ./ ← 現在いるディレクトリ
<?php include 'dbconnect.php'; $params = explode('/', $_GET['url']); $resource = $params[0]; $action = $params[1]; // URLにidが指定された場合 if (count($params) > 2) { $id = $params[2]; } $table_name = singular2plural($resource); include './models/' . $resource . '.php'; // model呼び出す include './controllers/' . $table_name . '_controller.php'; // controller呼び出す include './views/helpers/application_helper.php'; // ヘルパーの読み込み include './views/layouts/application.php'; // レイアウトファイルを読み込み // http://qiita.com/mpyw/items/41230bec5c02142ae691 参考 ?> <?php // 単数形resource名の単語を複数形に変換する関数 function singular2plural($singular) { $dictionary = array('man' => 'men', 'seaman' => 'seamen', 'snowman' => 'snowmen', 'woman' => 'women', 'person' => 'people', 'child' => 'children', 'foot' => 'feet', 'crux' => 'cruces', 'oasis' => 'oases', 'phenomenon' => 'phenomena', 'tooth' => 'teeth', 'goose' => 'geese', 'genus' => 'genera', 'graffito' => 'graffiti', 'mythos' => 'mythoi', 'numen' => 'numina', 'equipment' => 'equipment', 'information' => 'information', 'rice' => 'rice', 'money' => 'money', 'species' => 'species', 'series' => 'series', 'fish' => 'fish', 'sheep' => 'sheep', 'swiss' => 'swiss', 'chief' => 'chiefs', 'cliff' => 'cliffs', 'proof' => 'proofs', 'reef' => 'reefs', 'relief' => 'reliefs', 'roof' => 'roofs', 'piano' => 'pianos', 'photo' => 'photos', 'safe' => 'safes'); if (array_key_exists($singular, $dictionary)) { $plural = $dictionary[$singular]; } elseif (preg_match('/(a|i|u|e|o)o$/', $singular)) {