Попытка понять, что такое пространства имен: Неустранимая ошибка: Uncaught Ошибка: класс 'feline \ Cat' не найден в C: \ Users \ bird \ - PullRequest
0 голосов
/ 11 марта 2020

Попытка понять, что такое пространства имен, и в чем смысл их использовать, и где их использовать, и как их использовать ..

Код:

<?php 
namespace foo;

class Cat {
    static function says() {echo 'meoow';}  
} 

namespace bar;
class Dog {
    static function says() {echo 'ruff';}  
} 

namespace animate;
class Animal {
    static function breathes() {echo 'air';}  
} 


use foo as feline;
use bar as canine;
use animate;

echo \feline\Cat::says(), "<br />\n";
echo \canine\Dog::says(), "<br />\n";
echo \animate\Animal::breathes(), "<br />\n"; 

?>

Получение ошибки :

Fatal error: Uncaught Error: Class 'feline\Cat' not found in C:\Users\bird\

1 Ответ

1 голос
/ 11 марта 2020

Ваша ошибка вызвана вашей первой обратной косой чертой по адресу:

echo \feline\Cat::says(), "<br />\n";
echo \canine\Dog::says(), "<br />\n";
echo \animate\Animal::breathes(), "<br />\n"; 

, измените ее на:

echo feline\Cat::says(), "<br />\n";
echo canine\Dog::says(), "<br />\n";
echo animate\Animal::breathes(), "<br />\n";

, и она должна исправить вашу ошибку

Что такое пространства имен ? Пространства имен - это способ инкапсуляции элементов.

Почему пространства имен? Создание приложения с помощью OOP (объектно-ориентированное программирование) - это путь к go, вам не нужно переписывайте свой код каждый раз, потому что вы можете использовать его повторно, это то, что пространства имен могут делать без каких-либо конфликтов имен.

Вот пост, который объясняет ваш вопрос - Что такое пространства имен?

Примеры их использования Вот несколько примеров и учебных пособий Вы можете следовать, чтобы понять это лучше. - https://www.geeksforgeeks.org/php-namespace/ - https://www.php.net/manual/en/language.namespaces.rationale.php

Если вы хотите выучить php и использовать OOP, я рекомендую вам использовать Laravel. https://www.laravel.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...