백엔드 개발 PHP 튜토리얼 礼拜五了啦啦啦啦-LAMP+PHP‘s OOP

礼拜五了啦啦啦啦-LAMP+PHP‘s OOP

Jun 13, 2016 pm 12:27 PM
function protected public

周五了啦啦啦啦-LAMP+PHP‘s OOP

  hi

周五咯~~

1、LAMP配置完结篇

五、LAMP配置环境优化

5.4 虚拟主机工作原理

apache的虚拟主机。virtual-host

用不同的域名访问不同的目录——手动模拟dns

修改host文件即可实现。具体就是主机地址 域名

复习

[email protected]:~$ sudo apt-get install apache2

[email protected]:~$ sudo apt-get install php5
然后加载/检查php5.load这个php实现对apache2操作的模块(LAMP的互相,就是模块的启动/连接)
[email protected]:~$ cat /etc/apache2/mods-enabled/php5.load
[email protected]:~$ sudo apt-get install mysql-server

sudo apt-get install apache2 php5 mysql-server php5-mysql

[email protected]:~$ sudo service mysql restart
[email protected]:~$ sudo service apache2 restart

----创建phpinfo探针

先装vim

sudo apt-get install vim

再切换到php的www文件夹,用cd命令

cd /var/www/html(14.4版本)

然后在这里创建一个php文件

sudo vim info.php

写php代码

echo mysql_connect('localhost','root','hanhan123') ? 'Hoho' : 'WTF';

phpinfo();
然后esc键,输入:wq保存退出

http://192.168.1.100/info.php 浏览器输入验证结果

复习结束

5.5 安装phpmyadmin

--

apt-get命令

sudo apt-get install phpmyadmin

sudo ln -s /usr/share/phpmyadmin/ /var/www/pma

 六、服务器集群了解

国内外有很多著名的巨型服务器集群。

用于同时处理大批量的请求

-----------------------------------

2、PHP的OOP编程

四、OOP的高级实践

程序准备

date_default_timezone_set("PRC");
/**
* 1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
* 2. 定义类的属性
* 3. 定义类的方法
* 4. 实例化类的对象
* 5. 使用对象的属性和方法
*/
class NbaPlayer
{
// 类的属性的定义
public $name="Jordan";// 定义属性
public $height="198cm";
public $weight="98kg";
public $team="Bull";
public $playerNumber="23";

// 类的方法的定义
public function run() {
echo "Running\n";
}

public function jump(){
echo "Jumping\n";
}
public function dribble(){
echo "Dribbling\n";
}
public function shoot(){
echo "Shooting\n";
}
public function dunk(){
echo "Dunking\n";
}
public function pass(){
echo "Passing\n";
}
}

/**
* 1. 类实例化为对象时使用new关键字,new之后紧跟类的名称和一对括号。
* 2. 使用对象可以像使用其他值一样进行赋值操作
*/
$jordan = new NbaPlayer();
// 访问对象的属性使用的语法是->符号,后面跟着属性的名称
echo $jordan->name."\n";
// 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号
$jordan->run();
$jordan->pass();

?>

 4.1 继承

也就是对象相似的部分,可以多处使用——避免代码冗余,开发效率提高。

优点:父类中定义的了,子类中无需再次定义——效率高;对于外部,表现一致(父类是一样的);重写,来修改子类。

举个栗子

class Human{
public $name;
public $height;
public $weight;

public function eat($food){
echo $this->name."'s eating".$food."\n";
}
}

人类作为父类,然后nba球员作为子类

class NbaPlayer extends Human{

试着直接通过子类调用父类中的function

$jordan->eat("apple");

输出

Jordan's eating apple

没有问题!子类是可以直接调用父类的属性和方法的!!(在子类的对象上可以直接访问父类中定义的方法和属性)

毕竟从它的意思来看,子类就是父类的延伸。

另外,父类中的属性可以在子类中进行访问(实际上,简单的理解就是,所有的子类都是大于等于父类的对象,想象一下文氏图)

类的继承,用extends,只能跟一个“爸爸”——php的单继承原则

4.2 访问控制

所有的属性和方法都有访问权限的选择——选择可以被谁访问

public:公有,任何地方

protected:受保护的,被自身以及其子类

private:私有,只能被自身访问

举个private的栗子

在Nbaplayer这个子类中,新增加定义

    private $age="44";

public function getAge(){
echo $this->name."'s age is ".$this->age;
}

//试着调用private,直接以及通过内部的public函数
//$jordan->age;
$jordan->getAge();

然后,关于protected,范围紧紧的限制在了父类中和子类中,也就是说,出了子类的定义那个大括号就失效了!

4.3 静态成员

可以简单的理解为常量(?)

static

 

 

bu xiang xie le 

 

1楼rickon
bu xiang xie le 。。楼主真是萌萌哒。加油
Re: 韧还
@rickon,哈,当时输入法也逗逼了,干脆任性!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

기능은 무슨 뜻인가요? 기능은 무슨 뜻인가요? Aug 04, 2023 am 10:33 AM

함수는 특정 기능을 포함하는 재사용 가능한 코드 블록으로, 입력 매개변수를 받아들이고 특정 작업을 수행하며 결과를 반환하는 것이 목적입니다. 코드 재사용성과 유지 관리성을 향상시키는 코드입니다.

iOS 개발자 버전과 공개 버전의 차이점은 무엇인가요? iOS 개발자 버전과 공개 버전의 차이점은 무엇인가요? Mar 01, 2024 pm 12:55 PM

매년 Apple이 iOS 및 macOS의 새로운 주요 버전을 출시하기 전에 사용자는 몇 달 전에 베타 버전을 다운로드하여 먼저 경험할 수 있습니다. 소프트웨어는 대중과 개발자 모두가 사용하기 때문에 Apple은 개발자 베타 버전의 공개 베타 버전인 개발자 버전과 공개 버전을 모두 출시했습니다. iOS 개발자 버전과 공개 버전의 차이점은 무엇인가요? 말 그대로 개발자 버전은 개발자 베타 버전이고, 퍼블릭 버전은 퍼블릭 베타 버전이다. 개발자 버전과 공개 버전은 서로 다른 대상을 대상으로 합니다. 개발자 버전은 개발자가 테스트하기 위해 Apple에서 사용합니다. 다운로드하고 업그레이드하려면 Apple 개발자 계정이 필요합니다.

Python에서 'enumerate()' 함수의 목적은 무엇입니까? Python에서 'enumerate()' 함수의 목적은 무엇입니까? Sep 01, 2023 am 11:29 AM

이번 글에서는 enumerate() 함수와 Python에서 “enumerate()” 함수의 목적에 대해 알아봅니다. enumerate() 함수란 무엇입니까? Python의 enumerate() 함수는 데이터 컬렉션을 매개변수로 받아들이고 열거형 객체를 반환합니다. 열거형 객체는 키-값 쌍으로 반환됩니다. 키는 각 항목에 해당하는 인덱스이고 값은 항목입니다. 구문 enumerate(iterable,start) 매개변수 iterable - 전달된 데이터 컬렉션은 iterablestart라는 열거형 개체로 반환될 수 있습니다. - 이름에서 알 수 있듯이 열거형 개체의 시작 인덱스는 start로 정의됩니다. 우리가 무시한다면

MySQL.proc 테이블의 역할과 기능에 대한 자세한 설명 MySQL.proc 테이블의 역할과 기능에 대한 자세한 설명 Mar 16, 2024 am 09:03 AM

MySQL.proc 테이블의 역할과 기능에 대한 자세한 설명 MySQL은 널리 사용되는 관계형 데이터베이스 관리 시스템으로, 개발자가 MySQL을 사용할 때 저장 프로시저(StoredProcedure)를 생성하고 관리하는 경우가 많습니다. MySQL.proc 테이블은 저장 프로시저의 이름, 정의, 매개변수 등을 포함하여 데이터베이스의 모든 저장 프로시저와 관련된 정보를 저장하는 매우 중요한 시스템 테이블입니다. 이번 글에서는 MySQL.proc 테이블의 역할과 기능에 대해 자세히 설명하겠습니다.

Vue.use 함수의 사용법과 기능 Vue.use 함수의 사용법과 기능 Jul 24, 2023 pm 06:09 PM

Vue.use 함수의 사용법 및 기능 Vue는 많은 유용한 기능을 제공하는 널리 사용되는 프런트 엔드 프레임워크입니다. 그 중 하나는 Vue 애플리케이션에서 플러그인을 사용할 수 있게 해주는 Vue.use 기능입니다. 이 기사에서는 Vue.use 함수의 사용법과 기능을 소개하고 몇 가지 코드 예제를 제공합니다. Vue.use 함수의 기본 사용법은 매우 간단합니다. Vue가 인스턴스화되기 전에 호출하고 매개변수로 사용하려는 플러그인을 전달하면 됩니다. 다음은 간단한 예입니다. //플러그인 소개 및 사용

js 함수의 사용법은 무엇입니까 js 함수의 사용법은 무엇입니까 Oct 07, 2023 am 11:25 AM

js 함수 함수의 사용법은 다음과 같습니다. 1. 함수 호출 3. 함수 반환 값 6. 함수 범위 8.

PHP의 file_exists() 함수 PHP의 file_exists() 함수 Sep 14, 2023 am 08:29 AM

file_exists 메소드는 파일이나 디렉토리가 존재하는지 확인합니다. 확인할 파일이나 디렉터리의 경로를 인수로 받아들입니다. 용도는 다음과 같습니다. 파일을 처리하기 전에 파일이 존재하는지 알아야 할 때 유용합니다. 이렇게 하면 새 파일을 만들 때 이 기능을 사용하여 파일이 이미 존재하는지 알 수 있습니다. 구문 file_exists($file_path) 매개변수 file_path - 존재 여부를 확인할 파일 또는 디렉터리의 경로를 설정합니다. 필수의. return file_exists() 메서드가 반환됩니다. 파일이나 디렉터리가 존재하면 TrueFalse를 반환하고, 파일이나 디렉터리가 존재하지 않으면 예를 들어 "candidate.txt" 파일을 확인하고 파일이

Java에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요? Java에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요? Sep 12, 2023 pm 07:21 PM

아니요, 최상위 클래스를 비공개 또는 보호로 선언할 수 없습니다. 공개 또는 기본값(수정자 없음)일 수 있습니다. 수정자가 없으면 기본 액세스가 있어야 합니다. 구문 //Atoplevelclass publicclassTopLevelClassTest{ //Classbody} 최상위 클래스가 private으로 선언되면 컴파일러는 "여기에서는 private 수정자가 허용되지 않습니다."라는 오류를 보고합니다. 이는 최상위 클래스가 비공개일 수 없으며 보호된 액세스에도 동일하게 적용됨을 의미합니다.

See all articles