php权限修饰
1. php 的public用法
public/private是访问修饰符,不是决定此成员变量或方法在类自身中调用的访问权限,而是外部访问的权限。
在类自身中调用可以使用$this->,如果成员变量或方法是静态修饰的,用类名::xxx访问。
2. 说说php面向对象编程时static,public,private,protected 各有什么意义
staticpublic与publicstatic是等价的,这两者只是两个修饰符的顺序不同。根据oracle.com教材中第八章的描述,如果两个或两个以上的(不同的)字段修饰符出现在字段声明,它们出现的顺序需与FieldModifier一致,这只是习惯,但不是必需的。部分修饰符说明:public是访问权限修饰符,用于控制外界对类内部成员的访问,声明为public的对象成员是完全共有的,外界可以随意访问,除此之外还有private,protected和默认。static控制类成员变化的修饰符。static是静态成员修饰符,其修饰的静态变量脱离具体对象独立存在,在内存中之后一份拷贝,所有的对象都公用这一个存储空间,所以对static修饰的静态变量进行的修改对该类的所有对象都起作用。static修饰的静态函数代表所有对象的统一操作,只能调用静态变量。static是针对面向对象中的“多态”而提出来的,static修饰的静态成员不存在多态性。附:FieldModifier顺序
3. python与php的区别是什么
输出、数据类型、访问权限、定义变量和方法不同
4. Python对PHP语言具有哪些不同点
先来看看Python语言和PHP语言的不同点
站在开发的角度上来分析的话,PHP应用程序更像是一组单独的脚本,甚至只是一个单独入口。都知道PHP是面向WEB的语言。但是Python语言是多用途语言,Python也同样可以用于WEB开发,基于Python的WEB应用有自己的内容声明,保存所有的查询以及请求。
那么再来对比一下Python语言和PHP web开发。
通用性
PHP和Python都属于世界上最流行的编程语言。为什么这么说呢?PHP用于构建Wikipedia,、Yahoo,、WordPress,、Friendster以及MailChimp、Flickr 等等许多知名站点,而Python呢?它一样也被用来构建了YouTube,、Instagram、桌面版Dropbox、Reddit以及Bitbucket、Quora、Spotify、Facebook等等的内部服务,还有PayPal系统的一部分;所以两者其实都是非常强大的。
框架
说起来,框架上PHP对比起Python还是略胜一筹的,PHP最流行的框架是Laravel,、Symfony、 CodeIgnite等等等,这些工具可以帮助程序员建立强大而整洁的应用程序。Python目前主流的框架是Django 和 Flask。然而,目前来说Python还是非常有潜力的,随着Python语言圈子的不断扩大,这正局势可能会有所转变,值得我们小期待。
哪个更容易学?
这对于初学者来说,一定是问的最多的一个问题,也是最关心的问题。选择往往让人不知所措,可以毫不犹豫的说,Python比PHP简单易学得多。为什么呢?
Python语法相对容易。而且Python语言在编程过程中可以允许你犯些小错但不会破坏代码,这对于刚学编程开发的新手来说,心态上还是比较好的。Python编程语言的入门门槛较低,可读性也强,对比其他语言代码简单易懂,虽然同样是使用C语言进行编写,可是它却摒弃了C语言中较复杂的指针,一定程度上简化了Python的语法。对于初学者来说,学习Python较其他语言更容易,而且对于想要深入学习的人来说也是相当有利的。
5. php类中通过var定义的成员变量,是什么访问权限的
var 一般是出现在类中。一般的过程和函数不要 var定义变量.
且它的级别为public。亦不能用任何其它的修饰符。需要注意的是:在成员方法中亦不能这样声明。
6. php static可以是保护权限吗
PHP中有三种访问修饰符,分别是:
public(公共的、默认)
protected(受保护的)
private(私有的)
public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。
protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。
private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。
图解
demo
复制代码 代码如下:
class Woman{
public $name = "gaojin";
protected $age = "22";
private $height = "170";
function info(){
echo $this->name;
}
private function say(){
echo "这是私有的方法";
}
}
//$w = new Woman();
//echo $w->info();
//echo $w->name;//公共属性可以访问
//echo $w->age;// 受保护属性,报致命错误
//echo $w->height;// 受保护属性,报致命错误
//私有方法,访问出错
//$w->say(); // 私有方法,访问出错
class Girl extends Woman{
// 可以重新定义父类的public和protected方法,但不能定义private的
//protected $name = "jingao"; // 可以从新定义
function info(){
echo $this->name;
echo $this->age;
echo $this->height;
}
function say(){
//parent::say();//私有方法 不能被继承 如果父类的的say方法是protected 这里就不会报错
echo "我是女孩";
}
}
$g = new Girl();
$g->say();//正常输出
//echo $g->height;//私有属性访问不到 没输出结果
//$g->info();//这是输出 gaojin22 $height是私有的属性没有被继承
//$g->height ="12";//这里是重新定义 height属性 也赋值了
//$g->info();//所以这里会输出来gaojin2212
7. php 的public作用
从PHP5.0版本开始,对象声明时需要声明对象属性和方法的可见性,public关键字表示属性或方法是公开可见的。
在PHP5.0之前未支持对象属性和方法的可见性定义,默认所有的属性和方法都是公开可见的,如以下的对象声明:
//例1
classObj{
var$name='Obj';
functiongetName(){
return$this->name;
}
}
而PHP5开始推荐写法为:
//例2
classObj{
protected$name='Obj';
publicfunctiongetName(){
return$this->name;
}
}
对于例1来说,实际上可以直接访问name属性,从而绕过getName方法,如
$obj=newObj();
echo$obj->name;
而对于例2来说,由于$name属性是protected(受保护的),因此必须使用getName方法才能得到$name属性的值。
同时这也是面向对象语言通用的一种声明方式。
public: 公开可见
protected: 对象内部可见 (该对象的子对象同样可以访问)
private: 对象自身内部可见 (不包含该对象的子对象,或者说private属性和方法不会被继承)
8. PHP中的访问修饰符只有 public,protected 和private 三个嘛
PHP有三种访问方式ublic,private和protected. 对于一个类成员的访问方式,可以是其中之一. 如果你没有指明访问方式,默认的访问方式为public. 你也可以为静态成员指明一种访问方式,将访问方式放在static关键字之前(如public static).
9. python与php的异同,和各自的优缺点
相同点: 都是动态类型的解释型高级脚本语言。
不同点既各自优缺点:
PHP名称的含义是“超文本预处理器”。
仅则一个名称就说明了PHP的着重点,也是长处
1、文本处理。text,意味擅长所有的文本处理
2、超文本处理,HyperText,意味尤其擅长HTML超文本标记语言的文本处理。
3、超文本预处理,HyperText Preprocessor,一个“预”字,意味擅长HTTP超文本传输协议之上的服务端上的所有应用的处理。
也就是说,PHP有个互联网专门化的方向,现在专门化也是所有行业的趋势。
Python比较通用,就是什么都能干一点。能做WEB相关的但没有php那么专门化和无微不至。
语法简洁,由于为了通用,python的数据结构工具也比较轻量级一点,实现复杂算法的资源开销比PHP稍低,裸运行的速度也比php稍快。但在网络应用上,这点速度差距在网络IO面前都可以忽略不计。 python作为通用脚本,也广泛被嵌入/捆绑入一些3D工具、绘图工具、数学工具、游戏中作为高级流程部分的描述。
语法方面,PHP的语法属于C系,继承了C++和Java的很多历史优点。
Python的语法,吸收了一些现代语言元素,比如靠缩进决定层次、lambda表达式,数列产生器,一级函数对象。
2个都值得学习掌握!
10. php public private protected什么场景下要区分使用
1、private修饰词,表示成员是私有的,只有自身可以访问; 2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。