Bu php sınıfları çalışırken kendini :: yöntem () ve parent :: yöntem () kullanmak için tercih edilen / kabul edilebilir olup olmadığını bilmek istiyorum.
Bu-> yöntemi () $ kullanabilirsiniz ama $ this-> da üst sınıftan bir sınıf değişkeni, bir üst sınıf değişken veya bir yönteme başvurabilirsiniz. Kendini hiçbir belirsizlik yoktur ::
Self :: amortismana tabi ve / veya bu stili kullanarak herhangi uyarılar veya eksileri vardır mı?
Özellikle statik gibi bir fark var gibi görünüyor değil bir yöntemi tanımlamak sürece, o kendini :: ve parent :: sınıf statik bir örneğine bakın, ama Kohana anlamak.
Teşekkürler.
Added an example: Assuming this application stores forums from multiple websites...
class Forum_Controller extends Controller {
function __construct()
{
parent::__construct();
}
function index()
{
echo self::categories();
}
/*
* get a list of categories from a specific site.
*/
private function categories()
{
$db = new Database;
$categories = $db->query("
SELECT * FROM
forum_categories
WHERE fk_site = '$this->site_id'
");
$view = new View('categories_view');
$view->categories = $categories;
return $view;
}
}
This examples works in kohana with error reporting set to: error_reporting(E_ALL & ~E_STRICT);
$ This-> site_id ana Controller_Core sınıfı (Kohana bir kütüphane) tanımlanmıştır.
Bildiğim kadarıyla, $ bu statik bir şekilde self :: kategorileri () arıyorum beri mevcut olması gerekiyordu değil, ama ben statik gibi kategoriler () tanımladığınızda bunun bir hata atıyor sadece.
Ama dediğim gibi ben daha ziyade kendini kullanmayı tercih :: bu işlevi olmalıdır tam olarak nerede bir okunabilirlik açısından, ben çok yani bana, belirsizlik neden olan $ this kullanmak yerine, biliyorum çünkü.