URI dayalı PHP Fonksiyonu Çağrı

3 Cevap

Ben URI dayalı basit bir php komut dosyası oluşturmak için arıyorum, belli bir işlevi çağırır.

Bunun yerine eğer tabloların bir grup olan, ben ziyaret etmek mümkün olmak istiyorum:

/ Dev / view / ileti /

ve ben PHP komut dosyası oluşturulmuş bir 'mesaj' fonksiyonunu çağırır.

Herhangi bir yardım büyük mutluluk duyacağız.

Teşekkürler!

3 Cevap

Eğer bir çerçeve kullanıyor musunuz? onlar sizin için bu tür bir şey yapmak.

Bunu yapmak için apache mod_rewrite kullanmanız gerekir.

Basically you take /dev/view/posts and rewrite it to /dev/view.php?page=posts

 RewriteEngine On
 RewriteRule ^/dev/view/posts/(.*)$ /dev/view?page=$1

view.php içinde

switch($_REQUEST['page'])
{
	case 'posts':
		// call posts
		echo posts();
		break;
}

EDIT "sayfa" denir ne olursa olsun işlev bu çağrıyı yaptı

Muhtemelen güvenlik etkileri vardır, çünkü bunu yapmak için bir çerçeve kullanmak istiyorum. ama çok basit bunu yapabilirsiniz:

if (array_key_exists('page',$_REQUEST))
{
	$f = $_REQUEST['page'];
	if (is_callable($f))
	{
		call_user_func($f);
	}
}

Bunu yapmanın çok daha iyi yolları vardır Not! Sen bir çerçeve kullanıyor olması gerekir!

Ne arıyorsun web sunucusu üzerinde yeniden URL şeklidir. Apache kullanıyorsanız Örneğin, mod_rewrite'ın araması gerekir. Lütfen kural ne gibi görünebilir bir örnek:

RewriteEngine On
RewriteRule ^/dev/view/posts/(.*)$ /posts.php?id=$1

Ama birden fazla mesaj URL'ler için bu kullanın böylece bir sondaki sonrası kimliği veya benzeri var isteyen varsayarak yaşıyorum.