Değişkeni üzerinden erişim sınıfı statik işlev

1 Cevap php

Yani URL'sini alır ve istenen bileşen, eylem ve herhangi bir değerleri bulmak için patlayan bir PHP sınıfı olarak adlandırılan yönlendirici var. Daha sonra sorumlu sınıf, ben şimdi bir kullanıcı sınıfı aracılığıyla sınıfa kullanıcı erişimi integrationg ediyorum, vs, vs eylemi çalışır yükler.

(Bir sınıf) her bileşen için, ben eylemi çalıştırmak için gereken minimum izni gibi bir dizin ve bir sayı olarak her eylemi tutan 'perma' adlı bir statik sınıf dizi değişkeni var. Her bileşen de geçti eylem adı için izin değeri almak için statik bir işlevi vardır.

Ben yaşıyorum sorun bir değişken depolanan sınıfın adı ile düzgün çalışması için statik işlev oluyor. Yönlendirici ben bileşenin adını tutmak için bir değişken kullanabilirsiniz.

$this->controller // cms, calendar ,etc

Sonra sınıfın adını almak için kendisine 'denetleyici' eklemek

$class = $this->controller.'Controller'; // cmsController, calendarController, etc

Ben statik işlev erişmek için kullanmaya çalıştığınızda Ancak, ben bir hata alıyorum

$minActionPerm = $class::getPerms( $this->action ); // No go, parse error

Ben tam anlamıyla sınıf adını yazmanız hiçbir hatası alıyorum, ama bu gerçek bir çözüm değildir.

$minActionPerm = cmsController::getPerms( $this->action ); // Good, but literal

Değişkeni de ben eylemi çalıştırmak için sınıfın bir nesne oluşturduğunuzda çalışır.

$object = new $class();

Ben muhtemelen sadece basit bir cevap eminim - böyle değişken kullanımı gibi, ama ben şu an itibariyle bilmiyorum biri.