第十四节--命名空间_PHP教程
/*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读>
| = 中Classes and Objects一章的笔记
| = 翻译为主+个人心得
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢
| = 欢迎批评指正,希望和所有PHP爱好者共同进步!
| = PHP5研究中心: http://blog.csdn.net/haohappy2004
+-------------------------------------------------------------------------------+
*/
命名空间在PHP5正式版本中被取消,本节内容无效--Haohappy注
第十四节--命名空间
命名变量,函数和类是挺困难的,除了要考虑到变量的名称要易于理解,还要担心是否这个名称在其它某个地方已经使用过. 在一小段脚本中,第二个问题是基本问题. 当你考虑重用你的代码, 在这之后的项目代码必须避免使用你用过的命名. 通常来说,可重用的代码总是包含在函数或类中, 需要处理许多可能发生的命名冲突. 但函数和类之间也可能发生命名冲突. 你可以尝试避免出现这种情况,通过在所有类前添加前缀的方法,或者你可以使用namespace语句.
Namespace关键字给一块代码命名. 在这个代码块外部,脚本必须用操作符::加上命名空间的名称来引用这个代码块. 引用静态的类成员也是用相同的方法. 在命名空间内代码不需要声明命名空间, 它本身就是默认的. 这种方法比添加前缀的方法好. 你的代码可由此变得更加紧凑和可读.
你可能想知道是否可以建立分层的(嵌套的)命名空间. 答案是不可以. 但你可以在命名空间名称后加上冒号, 你可以再次调用在名称中不包含冒号的变量,函数和类. 命名空间允许存在冒号,只要不是第一个字符和最后一个字符或接着另一个冒号. 命名空间的名称中的冒号对于PHP来说没有任何意义, 但如果你用他们来区分逻辑上的区块, 他们可以很好地说明你的代码中的父子(parent-child)关系.
/* 注: 即可以使用这样:
namespace animal:dog {}
namespace animal:pig {}
用冒号来说明parent-child关系.
*/
你可能在一个命名空间语句内没有包含函数,类或常量定义以外的任何东西. 这将阻止你使用他们来改进旧的使用全局变量的函数库. 命名空间最适合于面向对象. 命名空间内的常量与类中的常量使用相同的语法.
例子6.17显示了如何使用命名空间.
Listing 6.17 Using a namespace
{
class textEngine
{
public function uppercase($text) //大写
{
return(strtoupper($text));
}
}
//make non-OO interface 建立一个非OO的接口
function uppercase($text)
{
$e = new textEngine;
return($e->uppercase($text));
}
}
//test class in namespace 测试命名空间中的类
$e = new core_php:utility::textEngine;
print($e->uppercase("from object") . "
");
//test function in namespace 测试命名空间中的函数
print(core_php:utility::uppercase("from function") . "
");
//bring class into global namespace 把类导入全局命名空间
import class textEngine from core_php:utility;
$e2 = new textEngine;
?>
要导入单一的命名空间的成员,可以指定类型为constant,function或class,接着写上成员的名称;
//如import class XXX
如果你想导入某一特定类型的所有成员,你可以用*来代替名称;
//如 import constant * 导入所有常量
如果你想导入所有类型的所有成员,用*即可.
//如 import *
在成员之后,用from关键字加上命名空间的名称.
//如 import class textEngine from core_php:utility;
总之你要写成像import * from myNamespace或 import class textEngine from core_php:utility这样的语句,就像例6.17中那样.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 WeChat 공개 계정 "정보 시대에 살기"에서 재인쇄되었습니다. 저자는 정보 시대에 살고 있습니다. 이 기사를 재인쇄하려면 Living in the Information Age 공개 계정에 문의하세요. 머신러닝에서는 두 샘플 간의 차이를 판단하는 방법을 기본 개념으로 하여 두 샘플 간의 유사성과 카테고리 정보를 평가할 수 있습니다. 이러한 유사성을 판단하는 척도는 특징 공간에서 두 샘플 사이의 거리입니다. 다양한 데이터 특성에 따라 다양한 측정 방법이 있습니다. 일반적으로 두 데이터 샘플 x, y에 대해 함수 d(x, y)를 정의합니다. 두 샘플 사이의 거리로 정의되면 d(x, y)는 다음 기본 속성을 충족해야 합니다. 부정성: d(x, y)>=0 동일성: d(x, y)=0 ⇔ x=y 쌍

스왑 공간은 Linux 시스템에서 중요한 역할을 하며, 특히 시스템의 메모리가 부족한 경우 더욱 그렇습니다. 높은 부하에서도 시스템이 원활하게 실행되고 안정성을 유지할 수 있도록 도와주는 백업 메모리 저장 공간 역할을 합니다. 이 문서에서는 시스템 성능이 최적화되고 다양한 작업 부하를 처리할 수 있도록 Ubuntu 22.04LTS에 스왑 공간을 추가하는 방법에 대한 자세한 가이드를 제공합니다. 스왑 공간 이해 스왑 공간은 시스템의 물리적 RAM을 보완하는 데 사용되는 가상 메모리를 제공합니다. 시스템의 RAM이 부족하면 커널은 메모리 부족 및 시스템 충돌을 방지하기 위해 데이터를 디스크로 교환합니다. Linux 시스템은 일반적으로 이러한 상황을 처리하기 위해 스왑 공간을 사용합니다. 여러 메모리 집약적 애플리케이션을 동시에 실행하여 매우 큰 파일이나 데이터를 처리합니다.

C++ 함수 이름 지정에서는 가독성을 높이고 오류를 줄이며 리팩토링을 용이하게 하기 위해 매개변수 순서를 고려하는 것이 중요합니다. 일반적인 매개변수 순서 규칙에는 작업-객체, 개체-작업, 의미론적 의미 및 표준 라이브러리 준수가 포함됩니다. 최적의 순서는 함수의 목적, 매개변수 유형, 잠재적인 혼동 및 언어 규칙에 따라 달라집니다.

c 드라이브의 남은 공간은 50-80G가 더 적합합니다. 향후 시스템에서 정크 파일, 캐시 파일 등이 생성되므로 소프트웨어 설치 시 경로 선택에 익숙하지 않고 정리하지 않는 경우 C 드라이브용으로 최소 50GB~80GB의 공간을 확보하는 것이 좋습니다. 컴퓨터를 자주 사용하는 경우 최소 100GB가 필요합니다.

우리 모두 알고 있듯이 시스템 설치가 완료된 후 차지하는 시스템 디스크가 너무 크면 시스템 지연, 지연 및 파일 손실이 발생할 수 있습니다. 따라서 win11 시스템을 설치하기 전에 win11을 업그레이드하는 데 필요한 C 드라이브 공간이 얼마나 되는지 알아야 합니다. win11을 업그레이드하는 데 필요한 C 드라이브 공간: 답변: win11을 업그레이드하려면 20-30GB의 C 드라이브 공간이 필요합니다. 1. Microsoft의 win11 구성 요구 사항에 따르면 win11 설치에는 64GB의 하드 드라이브 공간이 필요함을 알 수 있습니다. 2. 그러나 실제로는 일반적으로 이렇게 큰 공간이 필요하지 않습니다. 3. 이미 win11을 설치한 사용자의 피드백에 따르면 win11 업그레이드에는 약 20-30GB의 C 드라이브 공간이 필요합니다. 4. 하지만 우리 문에

Xbox 콘솔에는 다운로드하고 플레이할 수 있는 다양한 게임이 있습니다. Microsoft의 Xbox Game Pass 구독과 함께 게임 컬렉션의 재미가 멈추지 않습니다. 하지만 Xbox Series S의 경우 356GB, Xbox Series X의 경우 850GB에 달하는 게임용 공간 문제가 있습니다. 이전 버전의 게임에서는 문제가 없었지만 게임의 최대 크기는 아마도 20GB에서 45GB 사이였을 것입니다. 최근 게임에서는 그렇지 않습니다. 최근에 사용 가능한 게임은 결국 디스크 공간을 많이 차지하게 되어 다른 게임을 다운로드할 수 있는 공간이 줄어듭니다. ForzaHorizon5 및 Halo5Guardians 등

iPhone 15 또는 iPhone 15 Pro Max를 사용하는 경우 iOS 17.2를 사용하면 곧 출시될 Apple Vision Pro 헤드폰의 사진 앱에서 볼 수 있도록 공간 비디오를 녹화할 수 있습니다. 방법은 다음과 같습니다. Apple의 VisionPro 헤드폰은 2024년 2월경에 출시될 것으로 예상됩니다. 그때까지 이를 준비할 수 있는 한 가지 방법은 iPhone을 사용하여 Apple 헤드폰에서 볼 수 있는 공간 비디오라는 특수 형식으로 비디오를 녹화하는 것입니다. 공간 비디오는 iPhone에서 볼 때 일반 비디오로 나타나지만 VisionPro에서는 거의 3차원에 가까운 비디오를 제공합니다.

1. 서론 현재 컴퓨터 네트워크의 폭발적인 성장으로 인해, 그에 따른 문제는 네트워크 공격의 수가 급증하고 있다는 점이다. 정부 부서부터 사회의 다양한 주요 인프라에 이르기까지 우리 사회의 다양한 부문은 컴퓨터 네트워크와 정보 기술에 크게 의존하고 있습니다. 분명히 그들은 사이버 공격에도 취약합니다. 일반적인 네트워크 공격은 대상 컴퓨터를 비활성화하거나, 서비스를 오프라인으로 전환하거나, 대상 컴퓨터의 데이터에 액세스합니다. 사이버 공격의 횟수와 영향은 1990년대 이후 크게 증가했습니다. 네트워크 보안은 네트워크 장치 활동을 보호하는 데 사용되는 일련의 기술과 가능한 모든 위협으로부터 이를 보호하기 위한 조치를 의미합니다. 기존 네트워크 보안 기술에서는 대부분 정적 액세스 관리이며 보안 제어 시스템은 미리 설정된 정의에 따라 보호합니다.
