第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用命名空間加載類的正確方法是什么?這樣我就不必在每個文件中包含自動加載?

使用命名空間加載類的正確方法是什么?這樣我就不必在每個文件中包含自動加載?

PHP
白板的微信 2023-07-07 10:48:45
您好,我有一項(xiàng)任務(wù)要做,即按名稱空間對類進(jìn)行分類。我的要求是加載類而不包含 autoload.php 的 require 關(guān)鍵字。<?phpnamespace classes;class test {public function getPrint(){    echo "Hello";}}這是帶有命名空間的類。這是類函數(shù)的代碼。require_once 'classes/autoload.php';use classes\test2;$dt = new test();$dt2 = new test2();$dt->getPrint();echo $dt2->Okay();我正在自動加載課程。我的問題是使用以下方式加載類require_once 'classes/autoload.php';這條線。我必須在每個代碼文件中使用這一行來加載類。加載類的正確方法是什么。所以我不必包括require_once 'classes/autoload.php';每個文件中都有這個嗎?
查看完整描述

2 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個贊

通常的工作方式是使用每個請求都會經(jīng)過的一個引導(dǎo)文件。這通常還需要將路由移至 PHP 代碼中;即,您通常不會example.com/foo/bar.php簡單地調(diào)用 file foo/bar.php,而是使用漂亮的 URL(例如 )example.com/foo/bar,然后在 PHP 代碼中找出foo/bar確切的含義以及它應(yīng)該執(zhí)行的操作(盡管這是相當(dāng)可選的,由您決定)。


首先,您設(shè)置一個.htacess這樣的文件,或者在您的 Web 服務(wù)器配置文件中添加等效的配置:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ bootstrap.php

這會導(dǎo)致您的 Web 服務(wù)器調(diào)用bootstrap.php其文件實(shí)際上不存在的任何和所有請求(即css/style.css仍按原樣提供服務(wù),但foo/bar不是實(shí)際文件,而是會調(diào)用bootstrap.php)。


然后,bootstrap.php您需要require所有必要的文件,例如自動加載器,也許還有配置文件,然后運(yùn)行您想要的任何類、函數(shù)或文件:


<?php


require_once 'classes/autoload.php';


$request = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

require "$request.php";

上面是獲取請求的 URI(例如/foo/bar)并將其用于requirePHP 文件的簡單示例。這是非常幼稚的并且有潛在危險,因此您需要在實(shí)際使用中進(jìn)行一些更多的自定義處理。


查看完整回答
反對 回復(fù) 2023-07-07
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個贊

您可以創(chuàng)建一個需要您要使用的所有其他文件的文件,包括自動加載:


<?php


require_once('classes/autoload.php');

require_once('file1.php');

require_once('file2.php');

...

然后您就不需要要求自動加載,因?yàn)槲募呀?jīng)附加在它后面。


查看完整回答
反對 回復(fù) 2023-07-07
  • 2 回答
  • 0 關(guān)注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號