php5中类属性的用法

 更新时间:2016年11月25日 16:08  点击:2058
属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)

在 PHP5 中,属性指在 class  中声明的变量。
在声明变量时,必须使用  public private protected 之一进行修饰,定义变量的访问权限。

Public(公开): 可以自由的在类的内部外部读取、修改。 
Private(私有): 只能在这个当前类的内部读取、修改。 
Protected(受保护):能够在这个类和类的子类中读取和修改。
这里我们先介绍Public(公开)的情况下对属性的读取和修改。

属性的使用:通过引用变量的 -> 符号调用变量指向对象的属性。
在方法内部通过 $this-> 符号调用同一对象的属性。

<?php
class Bike
{
public $color = "blue"; //定义自行车的颜色属性为蓝色
public $price = 200;  //定义自行车的价格为200
}
$myBike = new Bike();  //创建了对象
echo "自行车的颜色为".$myBike->color."<br />";
echo "自行车的价格为".$myBike->price;
?>


输出的结果就应该为

自行车的颜色为blue
自行车的价格为200


以上就是将原先给自行车属性所定义的值进行输出。
接下来是看看怎么在创建对象后修改原来的属性值。

<?php
class Bike
{
public $color = "blue"; //定义自行车的颜色属性为蓝色
public $price = 200;  //定义自行车的价格为200
}
$myBike = new Bike();  //创建了对象
$myBike->color = "red"; //修改成red
$myBike->pirce = 300;  //价格变为300
echo "自行车的颜色为".$myBike->color."<br />";
echo "自行车的价格为".$myBike->price;
?>
 

1、  全局变量$_FILES[‘xxx’];

    PHP5新创了一个$_$_FILES全局变量来接收文件的上传。这和以往版本有些差别。在旧版本里,你可以打开register_globals=on直接使用全局变量,或使用$HTTP_POST_FILSE[‘xxx’],这里只研究PHP5

 

2文件上传表单

    1,上传文件的表单使用post方式(和get的区别不用说了);还要加上enctype=''multipart/form-data''。
    2,一般要加上隐藏域:

<input type=hidden name=''MAX_FILE_SIZE'' value=”30000”>,位置在file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。
   注意:MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP.ini 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦

    3,出于安全考虑,file域是不许赋值的。随便在file域输入字符串,然后按submit也不会有反应。必须是第二个字符是冒号的时候(比如空格跟随冒号可以上传一个长度为0字节的“文件”),submit才同意“服务”——不过这个是客户端的措施,跟MAX_FILE_SIZE一样很容易绕过去。

 

Page1.php:

<form enctype="multipart/form-data" action="page2.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="8388608">
上传文件: <input name=     
      		以前发过,今天又校对了一下,也当是自己又重新温习了一遍,又有新的感觉。
不愧是久负盛名的开源项目,编码规范简单精练,切中要害。
希望能对大家有所帮助,欢迎交流看法。 

phpBB 编码标准规范

如果您对原手册内容有注解或建议,请发电子邮件至 nate@phpbb.com ;
如果您对本文翻译有什么意见或建议,请联系QQ78045595,或发电子邮件至gaogan at gmail dot com.

编辑器设定

制表符 vs 空格:为了此事尽可能地简单,我们使用制表符,不用空格。 你可以随便设定编辑器使用多少空格显示制表符,但是必须保证当你保存文件时,它保存的是制表符而不是空格。 这样,我们每个人都可以让代码以我们喜欢的方式显示,同时不破坏实际文件的布局。

换行: 确保编辑器将文件保存为 Unix 格式。这意味着以换行符终止一行,而不是在 Win32 里那样用一个 CR/LF 对,也不是 Mac 所用的某种方式。任何规范的 Win32 编辑器应该做到这点,但这并不见得总是默认的。你需要熟悉你的编辑器。如果你需要有关使用 Windows 文本编辑器的建议,应该去咨询它的开发者。他们中有些人在 Win32 中做编辑工作。

命名约定

在我们的命名约定中,不会使用任何形式的匈牙利命名。我们很多人相信,匈牙利命名是导致代码混乱的一种主要手法。

变量名称:变量名应当全部小写,并且词语之间以单个下划线分隔。

例如: $current_user 是正确的, 但是 $currentuser 和 $currentUser 就不正确。

名称应当是描述性的,并且简明。我们自然不希望使用冗长的句子作为变量名,但是多输入几个字符总好于疑惑于某个变量到底是干什么用的。

循环计数器:允许使用一个单字符变量名的唯一情形是当它作为一个循环计数器的时候。在这种情况下,外层循环的计数器应当始终是 $i。如果有一个循环处于这个循环的内部,它的计数器应当是 $j,进而是 $k,等等。如果循环的计数器是一个已经存在并且名字有意义的变量,本规范并不适用。

例如:
 

1    for ($i = 0; $i < $outer_size; $i++)  
2    { 
3       for ($j = 0; $j < $inner_size; $j++)  
4       { 
5          foo($i, $j); 
6       } 
7    }
    view plain | print | copy to clipboard | ?

 


函数名称: 函数也应该描述性地命名。这里我们并非在用 C 编程,我们不希望写出诸如“stristr()”此类的函数来。同上,使用单词间用单下划线分隔的小写名称。函数名称中某处最好有一个动词。较好的函数名 称如print_login_status(), get_user_data(),等等。

函数参数:参数遵循和变量名字相同的约定。我们不希望一堆这样的函数:do_stuff($a, $b, $c)。在大部分情况下,我们希望仅仅看看函数的声明,就知道怎样使用它。

总结: 这里的基本哲学是不要为了偷懒而伤害了代码的清晰。但是,必须由一些常识来掌握这种平衡;例如, print_login_status_for_a_given_user() 做得就过火了——这个函数命名为 print_user_login_status() 更好些, 或只是 print_login_status()。

代码布局

新建文件的标准头部:这里是一个头部的模版,它应当包含在每个 phpBB 文件开始
 

1    /***************************************************************************
2                   &nb
<

 

 


<?php
/**
 * @name 采集后的处理.php
 * @date Sat Dec 22 02:07:45 CST 2007
 * @copyright 马永占(MyZ)
 * @author 马永占(MyZ)
 * @link http://blog.111cn.net/mayongzhan/
 */
 
//采集后的文件,然后那来进行处理.这里的东西让我抄了5本书,是哪的不方便提供,自己找找吧.
 
header(''Content-Type:text/html;charset=utf8'');
 
function writer($content,$url)
{
    $fp = fopen($url, ''ab'');
    fwrite($fp, $content);
    fclose($fp);        
}
 
//从1到136页的内容一次合并.这个是最爽的...
 
for ($i=1;$i<136;$i++) {
    $str = file_get_contents(''./myz/''.$i.''.shtml'');
    preg_match("/(<h1>)(.*?)(</h1>)(.*?)(<div class="artibody" id="artibody">)(.*?)(</div>)/s",$str,$arr);
    $arr[6] = preg_replace("/(<span[^>]+>.*?<a[^>]+>)(.*?)(</a></span>)/s","$2",preg_replace("/<p>|</p>/","rn",$arr[6]));
    $result = "rn------------------------------------------------rn------------------------------------------------rn------------------------------------------------rn".$i."----------------马永占的目录编号:".$arr[2]."rn------------------------------------------------rn------------------------------------------------rn------------------------------------------------rn".$arr[6];
    writer($result, "./myz/all.txt");
}
?> 

原理。我在网上找到了一个打包程序make_exe(来自PHPnow)可以把.7z+打包后的文件界面信息打成一个EXE运行包,并在运行自解压后自动运行7z压缩包中的批处理文件。make_exe.zip包里有Make_exe.cmd, PHPServer.sfx,PHPServer.sfx.cf三个文件。看到这一点,大家应该有思路了吧。首先把PHPServer压成 PHPServer.7z文件然后配置好。修改PHPServer.sfx.cf文件,然后运行Make_exe.cmd就可以了。

首先:Make_exe.cmd代码
复制内容到剪贴板
代码:
set v=1.2
copy /b /y PHPServer.sfx + PHPServer.sfx.cf + *.* PHPServer%v%.exe || pause
很明了吧!“set v=1.2”是版本,然后需要三个文件,打包。
PHPServer.sfx.cf代码,打开方法,直接拖到TXT就行了
复制内容到剪贴板
代码:
;!@Install@!UTF-8!
Title="房地产信息管理系统V1.2"
BeginPrompt="# 房地产信息管理系统V1.2安装包 #nn * 确认你没有运行 IIS 等其他占用 80 端口的服务。n * 如果你安装有其他同类套件,请先停止或卸载。n * 安装完成后请不要随便移动安装目录。nn作者:xilo QQ:110026985 主页 http://www.xilo.cn。"
ExtractDialogText="请稍后,正在解压文件 ..."
ExtractTitle="正在解压 ..."
ExtractPathText="请选择解压路经(仅限英文字符):"
ExtractCancelText="取消"
CancelPrompt="你真的要退出吗?"
GUIFlags="4+8+32+64+256+2048"
InstallPath="D:\PHPServer"
RunProgram="cmd /c setup.cmd"
;!@InstallEnd@!
这些我相信也不我解释了,想显示什么就改什么。注意这句InstallPath="D:\PHPServer"为安装目录,还有解压后运行RunProgram="cmd /c setup.cmd"这个BAT,也就是启动apache,mysql服务的命令了。下面就是PHPServer的setup.cmd的命令了。因为太多简单贴上几句!

setup.cmd代码:

代码:

@echo off
rem -- http://www.xilo.cn
rem -- By xilo (QQ:110026985)
setlocal enableextensions
call Pnconfig.cmd
prompt -$g
title 初始化 PHPserver %pnver% - Apache + PHP + MySQL
echo   ____________________________________________________________
echo  ^|                                                            ^|
echo  ^|  ######  正在安装 浩搏不动产信息管理系统 环境套件  ######  ^|
echo  ^|____________________________________________________________^|
echo.

:copy
echo   _____________________________
<
[!--infotagslink--]

相关文章

  • 浅谈C# 字段和属性

    这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • js修改input的type属性问题探讨

    js修改input的type属性有些限制。当input元素还未插入文档流之前,是可以修改它的值的,在ie和ff下都没问题。但如果input已经存在于页面,其type属性在ie下就成了只读属性了,不可以修改。...2013-10-19
  • Vue之计算属性详解

    这篇文章主要为大家介绍了Vue的计算属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助...2021-11-16
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C# Dynamic关键字之:调用属性、方法、字段的实现方法

    本篇文章是对C#中调用属性、方法、字段的实现方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • 详解jquery方法属性

    这篇文章主要介绍了jquery的方法属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2021-11-10
  • win2003 安装软件之PHP5 图文安装教程

    本教程共分八篇:系统安装与设置篇、软件安装与设置篇、文件及文件夹权限篇、系统服务篇、安全策略篇、系统组件篇、注册表篇、软件安全篇。本篇讨论的是第二篇软件安装与设置篇的第七部分:安装软件之PHP 5 安装图解。 ...2016-01-27
  • C# 列表List的常用属性和方法介绍

    这篇文章主要介绍了C# 列表List的常用属性和方法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • 关于vue属性使用和不使用冒号的区别说明

    这篇文章主要介绍了关于vue属性使用和不使用冒号的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-22
  • 示例详解react中useState的用法

    useState 通过在函数组件里调用它来给组件添加一些内部 state,React 会在重复渲染时保留这个 state,接下来通过一个示例来看看怎么使用 useState吧...2021-06-04
  • Delphi常用关键字用法详解

    这篇文章主要介绍了Delphi常用关键字用法,包括了各个常用的关键字及其详细用法,需要的朋友可以参考下...2020-06-30
  • JavaScript中关联原型链属性特性

    这篇文章主要介绍了JavaScript中关联原型链属性特性的相关资料,需要的朋友可以参考下...2016-02-18
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • php中php://input的用法详细

    在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input。 下面的例子摘取的是wordpres...2016-11-25
  • 在Vue中获取自定义属性方法:data-id的实例

    这篇文章主要介绍了在Vue中获取自定义属性方法:data-id的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-09
  • MySQL中的主键以及设置其自增的用法教程

    1、声明主键的方法: 您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (in...2015-11-24
  • C#中this的用法集锦

    本文给大家汇总介绍了C#中的几种this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。...2020-06-25