簡體   English   中英

PSR-4 中的命名空間

[英]Naming Namespaces in PSR-4

我正在嘗試在一個 PHP 文件中創建一個命名空間,並在另一個 PHP 文件中使用它。 我正在使用 PSR-4 在 PHP 中定位我的命名空間。 但是在另一個文件中使用命名空間時,我收到了 class 的致命錯誤未找到。 這是我的代碼。

COMPOSER.JSON

{
    "name": "chandachewe/phppackage",
    "description": "This package is for testing php package",
    "license": "MIT",
    "require": {
        "php": "^7.3|^8.0"
},
"authors": [
    {
        "name": "Chanda Chewe",
        "email": "chewec03@gmail.com"
    }
],
    "minimum-stability": "dev",

    "autoload": {
        "psr-4": {
        "App\\": "src/" 
            }
    }
   
}

index.php

<?php
namespace App;
require_once('vendor/autoload.php');


class Greeting{
    public function __construct(){
        echo "Hello";
    }
}

//Show greeting output here
new Greeting(); 

?>

show.php

<?php
use App\Greeting;

new Greeting();

?>

所以想法是在show.php中創建一個命名空間並在index.php中使用它。 我在那里缺少什么?

  1. 為什么會有laravel標簽?

    • 您不需要 index.php 中的命名空間
    • show.php 應該在src文件夾中,如您在 composer.json 中所述
    • 你必須命名你的文件 Greeting.php 因為類名應該匹配文件名
  2. 我建議您仔細閱讀文檔https://www.php-fig.org/psr/psr-4/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM