2013-08-31 6 views
0

Я хочу, чтобы разработать что-то вроде моей собственной базы для дальнейших сайтов, есть существует ответил на вопрос о своих запросах, но я хотел бы кто-то, чтобы помочь мне так естьВызов функции из расширенного класса

frameworkclass. PHP

class Framework{ 
    public function hello(){ 
    echo "Hello World!"; 
} 


anotherclass.php

class New extends Framework{ 
    $hellomessage = self::hello(); 
} 

Ну, я знаю, что я должен ввести parent::hello() вызвать функцию привет из Framework класса, но как я могу сделать это без ввода каждый раз parent:: я не знаю, может быть что-то вроде этого $Framework->anyfunction()?

Другое дело, что я не понимаю, о ООП Что разница о static переменной и other types, или между publicprotected или private функции? Что такое функция автоматической загрузки фрейма и какая разница в системе кэширования структуры и структуре на основе сеансов? Спасибо!

ответ

0

Вы не можете инициализировать свойство с помощью метода.

class Framework { 
    public function hello() { 
     return "Hello World!"; 
    } 
} 

class New extends Framework { 
    public $hellomessage; 

    public function __construct() { 
     $this->hellomessage = parent::hello(); 
    } 
} 
+0

Спасибо за этот ответ, но мне нужно набирать все время 'parent :: hello()' для вызова функции hello из Framework или как я могу сделать что-то вроде этого $ Framework-> hello()? – Alexandru

+0

Объявить 'public static function hello()' и использовать 'Framework :: hello()' – Sony

+0

Спасибо, друг! :) – Alexandru

0

Публикация означает, что переменная или функция могут быть доступны из любой точки вне класса.

Защищенный означает, что переменная или функция доступны только классу и его дочерние классы (классы, которые «расширяют» его).

Личное означает, что переменная или функция доступны только самому классу, и даже не дочерние классы, которые его расширяют.

Надеюсь, это полезно.

+0

Да, полезно, спасибо! :) – Alexandru

Смежные вопросы