Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako uraditi extend klase koja se nalazi u nekom drugom folderu?

[es] :: PHP :: PHP za početnike :: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?

[ Pregleda: 2371 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jelenanik
nezapolena
nezaposlena
Novi Sad

Član broj: 330941
Poruke: 2
62.193.151.*



Profil

icon Kako uraditi extend klase koja se nalazi u nekom drugom folderu?11.01.2016. u 06:47 - pre 100 meseci
Pozdrav svima.

Prilično sam nova u pogledu OOP. Jasan mi je koncept nasleđivanja, znam kako da nasledim klasu koja je u istom folderu u kojem i klasa koja je nasleđuje, ali ne znam kako da nasledim klasu koja se nalazi u nekom drugom folderu.

Npr.

root_folder

folder1

controllers
models
neka_klasa_koja_treba_da_nasledi_drugu_klasu.php
views

folder2

controllers
models
neka_druga_klasa_koja_ce_naslediti_klasu_za_nasledjivanje.php
views

folder3

controllers
models
klasa_koju_treba_naslediti.php
views

Znači, moje pitanje je: Kako da mi klase iz fajlova "neka_klasa_koja_treba_da_nasledi_drugu_klasu.php" i "neka_druga_klasa_koja_ce_naslediti_klasu_za_nasledjivanje.php" naslede klasu iz fajla "klasa_koju_treba_naslediti.php"?

Hvala unapred.

P.S. Iz nekog razloga ne mogu lepo da napravim strukturu (da uvučem red, pa ispadne kao da su svi folderi u istom nivou). Dakle, u root-u se nalaze folderi: folder1, folder2 i folder3. U svakom od njih folderi controllers, models i views, a u odgovarajućem models folderu se nalaze pomenuti fajlovi.


Možete zaključati temu, snašla sam se.

[Ovu poruku je menjao jelenanik dana 11.01.2016. u 12:13 GMT+1]
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
82.208.249.*



+218 Profil

icon Re: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?12.01.2016. u 11:42 - pre 99 meseci
Pa samo u include navedes pravu putanju
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?12.01.2016. u 12:30 - pre 99 meseci
I koristi [code] tagove kako bi sačuvala formatiranje prilikom pejstovanja.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.dynamic.isp.telekom.rs.

Sajt: https://avramovic.info


+46 Profil

icon Re: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?30.01.2016. u 14:16 - pre 99 meseci
Nije bitno u kom je folderu klasa, ako je ispravno inkludovana biće dostupna u globalnom scope-u i moći će da je nasledi nova klasa.

Ako koristiš neki framework obično imaš način da "elegantno" inkluduješ klase, da li preko ugrađene Loader klase ili preko php autoloadera. Ako radiš "klot" php, možeš ručno da inkluduješ, a možeš da praviš i svoju loader klasu, odnosno (preporučljivo) autoloader.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?31.01.2016. u 12:01 - pre 99 meseci
jelenanik, ukoliko koristiš php 5.4 pa naviše, baci pogled i ovde -> php Traits

A evo i banalnog primera za korišćenje trait mehanizma, nema extends nigde ..
Mnogo lakši život od kad je ovo uključeno u igru.

Code (php):


<?php namespace
{

// Neki tamo fajl, negde.. imamo putanju do njega

     trait private_properties
     {
          private $path;
          private $file_;
          private $pack_;
     }

// Neki tamo drugi fajl, negde.. takođe imamo putanju do njega

     trait private_methods_uno
     {
          private function getFilePrivate()
          {
               if(is_file($this->path))
               $this->file_ = file_get_contents($this->path);
          }
     }

// I treći fajl, negde.. naravno, imamo putanju i do njega

     trait private_methods_due
     {
          private function putFilePrivate()
          {
               if(!is_string($this->file_))
                    die('Fajl verovatno i ne postoji ... ');
               else
               {
                    $this->pack_ = base64_encode($this->file_);
                    file_put_contents(("{$this->path}.bak"), $this->pack_, LOCK_EX);
                    $this->pack_ = null; $this->file_ = $this->pack_;
               }
          }
     }

/*
     Glavna klasa, (`final` je ovde radi kozmetike)
     pre nego što klasa dođe na red, treba priključiti (include/require_once , itd.. )
     potrebne "trejtove", logično.
*/


     final class opcodeToString
     {
          use
               private_properties,
               private_methods_uno,
               private_methods_due;

// KLJUČNA REČ - `use`
// U sklopu klase, priključuje `trait`
// Mimo klase, na samom početku skripte,
// služi za manipulaciju `namespace`-ova

          public function __construct($path)
          {
               $this->path = $path;
               $this->getFilePrivate();
          }

          public function putFile()
          {
               $this->putFilePrivate();
          }

     }

     $filepath = '/my/path/to/opcode.php';
     $ots = new opcodeToString($filepath);
     $ots->putFile();

}

 

about:networking
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Kako uraditi extend klase koja se nalazi u nekom drugom folderu?

[ Pregleda: 2371 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.