2016-10-05 2 views
1

私は2006年からPHPで手続き型プログラミングスタイルを使用してきました。 しかし、過去4年間以上の時間を逃してしまった。動的なPHPの短いURL

最近、私はオブジェクト指向のプログラミングをもっと認識し始めました。

MVCスタイルの組織と短いURLです。

"index.php?page = profile & member = 1"の代わりに、 "page/profile/member/1"になります。

私は広範囲のリソースを使用してOOP & MVCアーキテクチャを習得しようとしていますが、これはまだ分かりません。 1ヶ月経っても!

私はいつも基本機能(etc){}、if、else、and、or、およびstatementsとSQLクエリを使用してジョブを完了しました。今までの知識は、私が必要としていたすべてをカバーしていました。

基本的な手続き型プログラミングスタイルを使用して短縮URLを実現する方法があるのでしょうか?

は私が

の.htaccess

RewriteEngine On 
RewriteCond $1 !^(index\.php) 
RewriteRule ^(.*)$ index.php?page=$1 [L] 

のindex.php

<?php 

$links = parse_ini_file('links.ini'); 

if (isset($_GET['page']) && array_key_exists($_GET['page'], $links)) { 
    require $links[$_GET['page']]; 
} 
else { 
    echo ' 
    Home page or unknown link 
    '; 
} 

links.ini

以下、この方法を試してみました
members = pages/members.php 
profile = pages/profile.php 

この方法では、URLを短縮するだけで機能しますが、profile/user/1とも呼ばれるindex.phpとの連携方法を知らないのですか?page = profile & user = 1 データベースクエリ)

ご協力いただければ幸いです!

+1

あなたが探しているキーワード(今日)は:ルーティングです。基本的なチュートリアルはhttp://blogs.shephertz.com/2014/05/21/how-to-implement-url-routing-in-php/で見つけることができますが、グーグルではさらに高度なチュートリアルがありますもの。 – Blaatpraat

+0

これは初めにあなたの頭を包み込むための難しいチュートリアルです。少なくとも私にとってはそれは簡単なルータを作るのに役立ちます... https://www.youtube.com/watch?v=OsCTzGASImQしかし私は強く彼らはより信頼性の高いルータを作り、学習者が作り出すことができるため、フレームワークに入ることを提案し(そして作曲家について学ぶ)... –

+0

ちょうど把握するのは難しいMVCのコンセプトを受け入れるが、それに固執する。人気の近代的なフレームワーク(人気のあるものは、質問をする、チュートリアルを見つけるなどの良いコミュニティが必要です)を選び、基本的なブログのように何かをゼロから作ります。私はlaracastの助けを借りてLaravelを提案します(非常に良いビデオチュートリアル、初心者の多くは無料です)。ルーティングシステムを超えて、まともなフレームワークには多くのことがあります。オートローディングとormsを理解すると、シェルスクリプト以外のものを除いて手続き型のバニラのPHPに戻ることはあまりありません – Steve

答えて

0

これは、front controllerとして実行できます。このSitepoint articleはコンセプトを取り込むのに役立つかもしれませんが、オブジェクト指向にする必要はありません。基本的には

ではなく、あなただけのindex.phpにすべての要求を指示でしょう書き換える実際の操作を行います。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php 

さて、index.php以内に、あなたはparse_urlと離れて要求を選択し、必要が要求を処理することができます。