Автор Тема: PHP ООП Вмъкване на класове от външни файлове  (Прочетена 5210 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Как се подхожда когато класовете ме са в различни файлове.
Предполагам че с include , обаче ако се наложи да вмъкна прекалено много файлове в един няма ли да стане тежко приложението.

А може ли да се инклудват  класове в методи от друг клас или това е откровена простотия на един начинаещ  ;D

Питам щото искам да направя един общ клас през който да минават всички заявки . Да му направя методи който да извикват другите класове.И да стане нещо като гара-разпределителна.

« Последна редакция: 21 Април 2011, 17:57:10 от dns »

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #1 -: 21 Април 2011, 13:59:08 »
Така принципно, за да е възможно това, което искаш трябва да include-неш класовете, с които ще правиш този разпределителен клас.  Може да използавш този метод

function __autoload($class_name) {
    include $class_name . '.php';
}

Дай малко повече подробности какво точно искаш да направиш?

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #2 -: 21 Април 2011, 14:05:32 »
Така принципно, за да е възможно това, което искаш трябва да include-неш класовете, с които ще правиш този разпределителен клас.  Може да използавш този метод

function __autoload($class_name) {
    include $class_name . '.php';
}

Дай малко повече подробности какво точно искаш да направиш?


Искам вътре в метода да извиквам други методи на класове разположени в други файлове.
Примерно имам клас А  и искам да използвам метода на клас Б  който е записан на друг файл.
Как се процедира

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #3 -: 21 Април 2011, 14:22:16 »
Ами значи на това му се вика наследяване на класове и методи(inheritance).  Незнам дали си гледал видеото на Иван, но ако не си го гледай задължително.

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #4 -: 21 Април 2011, 14:37:45 »
Ами значи на това му се вика наследяване на класове и методи(inheritance).  Незнам дали си гледал видеото на Иван, но ако не си го гледай задължително.

 extends ли имаш в предвид или нещо друго.Аз съм ги гледал всичките видеа ама малко съм ги позабравил

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #5 -: 21 Април 2011, 14:51:12 »
точно това имам предвид... Само че свойствато и методи от класа, който наследяваш трябва да са protected

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #6 -: 21 Април 2011, 15:23:49 »
точно това имам предвид... Само че свойствато и методи от класа, който наследяваш трябва да са protected

Аха ся го пробвах , аз бях разбрал че extends прави едностранна връзка , а то било двустранно:

и главният клас може да ползва методи от "sub"-класа

и "sub"-класа може да ползва методи от главният клас  ...нали така?

------------------------------------------------------
Чакай да те питам и нещо друго , тамън съм те "хванал" да помагаш  ;D
...има ли смисъл от това:

<?php

class DB1
{

    public function 
izvicvam($pass)
    {
        
$get_pass=(int)$pass;
        if(
$pass==1234)
        {
        
DB2::exec();
        }
    }
}


class 
DB2 extends DB1
{

    protected  static function 
exec()
    {
         echo 
' connection ok';
    }

}


$mycar=new DB1();

echo 
$mycar->izvicvam(1234);

Идеята ми е  преди да се извика даден метод или клас да се проверява  за параметър играещ ролята на пас

...ето още един пример:

class RF
{

    public function  __construct($pass)
    {
        $get_pass=(int)$pass;
        if($pass==1234)
        {
            return $this->izvicvam();
        }
    }

    private  function izvicvam()
    {
         echo '<br /><br /> pass ok';
       
    }
}

$mycar=new RF (1234);

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #7 -: 21 Април 2011, 16:18:08 »
Разгледай Singleton шаблона от уроците на Иван. Там той показва нещо подобно на това, което правиш ти, но принципа е същия.

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re:PHP ООП Вмъкване на класове от външни файлеве.
« Отговор #8 -: 21 Април 2011, 17:56:42 »
Разгледай Singleton шаблона от уроците на Иван. Там той показва нещо подобно на това, което правиш ти, но принципа е същия.
Гледал съм ги , даже това дето ти го показвам е някаква моя с разновидност на Singleton , просто исках да питам дали е добра разновидност , или поне като идея (...аз съм доста нов във програмирането и когато се опитам да правя свои неща все се чудя дали са добри като идея и изпълнение.)

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #9 -: 21 Април 2011, 19:06:13 »
Къв ти е проблема с инклудването в крайна сметка?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #10 -: 21 Април 2011, 19:08:52 »
Е що да има някакъв проблем. Просто е любопитен човека.  ;D

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #11 -: 21 Април 2011, 19:26:18 »
Къв ти е проблема с инклудването в крайна сметка?

Ами искам да направя главен клас който да е гара разпределителна ...в който да се използват методи  от всички други класове намиращи се в други файлове

примерно във файла: index.php  имам един основен клас A , който използва методите на всички други класове чрез  extends, ОБАЧЕ тези другите класове искам да ги разположа в други файлове примерно в B.php , C.php  , D.php  и т.н.   ...за да мога да  използвам  всички методи на другите класове трябва да  инклудна файловете class-B.php , class-C.php  , class-D.php R и т.н   в  файла index.php   нали?


echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #12 -: 21 Април 2011, 19:29:29 »
Да, не виждам какъв е проблема!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #13 -: 21 Април 2011, 19:37:37 »
Да, не виждам какъв е проблема!
Еми ако инклудна примерно 20 файла в index.php няма ли да е много тежко за изпълнение

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: PHP ООП Вмъкване на класове от външни файлове
« Отговор #14 -: 21 Април 2011, 21:52:16 »
Първо не виждам що ще инклудва 20 файла, после колко по бавно ще стане според теб? Само по себе си ооп е по бавно от процедурно писане, и какво от това, ползите от него са по големи от тази бързина. Не виждам как е един файл ще има нъжда от викане едновременно на 20 класа - някво нелогично ми се струва!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width: