Cel: Aby dowiedzieć się, jak możemy użyć tej samej nazwy klasy w PHP, używając przestrzeni nazw. Ogólnie nie możemy używać dwóch lub więcej klas o tej samej nazwie. To spowoduje błąd: „Nie można redeclare klasy" jak pokazano niżej-
Aby sobie z tym poradzić, możemy użyć przestrzeni nazw, jak pokazano w poniższym przykładzie: 1. Definiowanie przestrzeni nazw Demo1 z klasą Student w Demo1 / Student.php
<? php namespace Demo1; class Student {// Cały kod będzie tutaj dla tej klasy var $ a = 10; }?>
2. Definiowanie przestrzeni nazw Demo2 z klasą Student (klasa o tej samej nazwie) w Demo2 / Student.php
<? php namespace Demo2; class Student {// Cały kod będzie tutaj dla tej klasy var $ a = 20; }?>
3. Teraz w przykładowym pliku index.php jesteśmy w stanie używać obu klas bez żadnego błędu:
<? php // zawierający obie klasy Studentów wymaga „Demo1 / Student.php”; wymagaj „Demo2 / Student.php”; // tworzenie instancji Demo1 Student () $ Student1 = new Demo1 Student (); // używanie pierwszej klasy funkcji echo $ Student1-> a. '<br>'; // tworzenie kolejnej instancji Demo2 Student () $ Student2 = new Demo2 Student (); // używanie funkcji drugiej klasy echo $ Student2-> a;
Ekran wyjściowy:
10
20
Obie klasy będą miały inną funkcjonalność i będziemy mogli łatwo używać obu klas w jednym pliku.
Uwaga: Możemy ułatwić kod dzięki funkcji PHP use ():
użyj Demo1 Student jako Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; użyj Demo2 Student jako Student2; $ Student2 = new Student2 (); echo $ Student2-> a;
Struktura pliku:
index.php
Demo1 / Student.php
Demo2 / Student.php
Powiązany artykuł:Automatyczne ładowanie w PHP