代码封装php,代码封装 英文

本文目录一览:

PHP中,类的封装,调用问题

?

class Page{

function 分页函数(参数){

$perNumber = 2;

$page = $_GET[‘page’];

$count = mysql_query(“select count(*) from people”);

$rs = mysql_fetch_array($count);

$totalNumber = $rs[0];

$totalPage = ceil($totalNumber/$perNumber);

if(!isset($page)){

$page = 1;

}

$startCount = ($page-1)*$perNumber;

$result = mysql_query(“select * from people limit $startCount,$perNumber”);

$num = mysql_numrows($result);

for($i=0;$i$num;$i++){

$a = mysql_result($result,$i,”id”);

$b = mysql_result($result,$i,”name”);

$c = mysql_result($result,$i,”age”);

echo “br /”.$a.”br /”.$b.”br /”.$c.”br /”;

}

}

}

?

vs2010怎么把php代码封装成安装程序

1,VS2010新建一个安装包制作项目。(取名为”素材包”)

2,素材包上右击–ADD–ASSEMBLY选定自己要安装的可执行文件。然后相关程序集都会被自动加载进去,以后就是要将没有加载的程序补充进去。

3,添加需要添加的文件,在File System中的App Folder中添加文件。

4,卸载,在系统中加载msiexec.exe,然后创建快捷方式,在Arguments中填上 /x{produce NO}(其中/x只是msiexec.exe的一个卸载参数,呵呵,这个程序很牛的,还有其他功能,在不同的参数下面)

5,自定义函数,这个函数中能实现很多功能,比如和目标计算机互动等,在Solution中ADD一个inno.cs(安装工程)。其实就是一个继承自安装程序的类。将此函数设定为主输出以后,自定 义可以参考

6,一个比较恼火的问题就是自动加载路径了, 这中间有详细的介绍。呵呵。

什么是php中的封装

封装是php面向对象的其中一个特性,将多个可重复使用的函数封装到一个类里面。在使用时直接实例化该类的某一个方法,获得需要的数据

如果是私有的方法和属性值,外部无法访问,具有一定的保护作用。

面向对象之封装 例子

class A{

public $name = ‘老王’;

// protected $name = ‘老王’;

//private $name = ‘老王’;

//自己访问

public function saya(){

return $this-name;

}

}

//实例化对象

$b = new A;

//public:外部、家族、自己都可以访问

//protected:家族和自己都可以访问,外部无法访问

//private:自己可以访问,外部和家族都无法访问

echo ‘外部访问:’.$b-name.’br’; //如果是私有的,访问不了

echo ‘家族访问:’.$b-sayb().’br’;

echo ‘自己访问:’.$b-saya().’br’;

PHP 继承、封装、多态

-子类只能继承父类的非私有属性

-子类继承父类后,相当于将父类的属性和方法copy到子类,可以直接使用$this调用该属性;

-php只能单继承,不支持一个类继承多个类。但是一个类可以进行多层继承

类实现封装是为了不让外面的类随意修改一个类的成员变量,所以在定义一个类的成员的时候,我们使用private关键字设置这个成员的访问权限只能被这个类的其他成员方法调用,而不能被其他类中的方法调用,即通过本类中提供的方法来访问本类中的私有属性

-所以在该类中我们会提供一个访问私有属性的方法

-然后我们一般会定义两个方法来实现对一个变量的操作,即__get()和__set()方法

一个类被多个子类继承,如果这个类的某个方法,在多个子类中,表现出不同的功能,我们称这种行为为多态(同一个类的不同子类表现出不同的形态)

-子类继承父类-子类重写父类的方法-父类引用指向子类对象

求PHP数据库封装类操作代码

?php

class MySQL{

private $host; //服务器地址

private $name; //登录账号

private $pwd; //登录密码

private $dBase; //数据库名称

private $conn; //数据库链接资源

private $result; //结果集

private $msg; //返回结果

private $fields; //返回字段

private $fieldsNum; //返回字段数

private $rowsNum; //返回结果数

private $rowsRst; //返回单条记录的字段数组

private $filesArray = array(); //返回字段数组

private $rowsArray = array(); //返回结果数组

private $charset=’utf8′; //设置操作的字符集

private $query_count=0; //查询结果次数

static private $_instance; //存储对象

//初始化类

private function __construct($host=”,$name=”,$pwd=”,$dBase=”){

if($host != ”) $this-host = $host;

if($name != ”) $this-name = $name;

if($pwd != ”) $this-pwd = $pwd;

if($dBase != ”) $this-dBase = $dBase;

$this-init_conn();

}

//防止被克隆

private function __clone(){}

public static function getInstance($host=”,$name=”,$pwd=”,$dBase=”){

if(FALSE == (self::$_instance instanceof self)){

self::$_instance = new self($host,$name,$pwd,$dBase);

}

return self::$_instance;

}

public function __set($name,$value){

$this-$name=$value;

}

public function __get($name){

return $this-$name;

}

//链接数据库

function init_conn(){

$this-conn=@mysql_connect($this-host,$this-name,$this-pwd) or die(‘connect db fail !’);

@mysql_select_db($this-dBase,$this-conn) or die(‘select db fail !’);

mysql_query(“set names “.$this-charset);

}

//查询结果

function mysql_query_rst($sql){

if($this-conn == ”) $this-init_conn();

$this-result = @mysql_query($sql,$this-conn);

$this-query_count++;

}

//取得字段数

function getFieldsNum($sql){

$this-mysql_query_rst($sql);

$this-fieldsNum = @mysql_num_fields($this-result);

}

//取得查询结果数

function getRowsNum($sql){

$this-mysql_query_rst($sql);

if(mysql_errno() == 0){

return @mysql_num_rows($this-result);

}else{

return ”;

}

}

//取得记录数组(单条记录)

function getRowsRst($sql,$type=MYSQL_BOTH){

$this-mysql_query_rst($sql);

if(empty($this-result)) return ”;

if(mysql_error() == 0){

$this-rowsRst = mysql_fetch_array($this-result,$type);

return $this-rowsRst;

}else{

return ”;

}

}

//取得记录数组(多条记录)

function getRowsArray($sql,$type=MYSQL_BOTH){

!empty($this-rowsArray) ? $this-rowsArray=array() : ”;

$this-mysql_query_rst($sql);

if(mysql_errno() == 0){

while($row = mysql_fetch_array($this-result,$type)) {

$this-rowsArray[] = $row;

}

return $this-rowsArray;

}else{

return ”;

}

}

//更新、删除、添加记录数

function uidRst($sql){

if($this-conn == ”){

$this-init_conn();

}

@mysql_query($sql);

$this-rowsNum = @mysql_affected_rows();

if(mysql_errno() == 0){

return $this-rowsNum;

}else{

return ”;

}

}

//返回最近插入的一条数据库的id值

function returnRstId($sql){

if($this-conn == ”){

$this-init_conn();

}

@mysql_query($sql);

if(mysql_errno() == 0){

return mysql_insert_id();

}else{

return ”;

}

}

//获取对应的字段值

function getFields($sql,$fields){

$this-mysql_query_rst($sql);

if(mysql_errno() == 0){

if(mysql_num_rows($this-result) 0){

$tmpfld = @mysql_fetch_row($this-result);

$this-fields = $tmpfld[$fields];

}

return $this-fields;

}else{

return ”;

}

}

//错误信息

function msg_error(){

if(mysql_errno() != 0) {

$this-msg = mysql_error();

}

return $this-msg;

}

//释放结果集

function close_rst(){

mysql_free_result($this-result);

$this-msg = ”;

$this-fieldsNum = 0;

$this-rowsNum = 0;

$this-filesArray = ”;

$this-rowsArray = ”;

}

//关闭数据库

function close_conn(){

$this-close_rst();

mysql_close($this-conn);

$this-conn = ”;

}

//取得数据库版本

function db_version() {

return mysql_get_server_info();

}

}

PHP函数封装!

你传入的sql不应该那样传,可用性太低,函数或方法应该传入变量,或者说可变的值。上代码,不懂的问

/*封装函数*/

$arr = $_POST;

//$sql = “INSERT INTO ui234_user (username,password,u_name,u_time) VALUES (?,?,?,?)”;

$table_name = “ui234_user”;

$field_arr = array(‘username’,’password’,’u_name’,’u_time’);

insert($arr,$table_name,$field_arr);

function insert($arr,$table_name,$field_arr){

    $sql = ‘INSERT INTO ‘.$table_name.’ (‘;

    $field_name = ”;//名称

    $field_value = ”;//值

    $field_post = ”;//post取值

    /*拼装字段*/

    foreach ($field_arr as $key = $value) {

         if($key == count($field_arr)-1){

         $field_name .= $value;

         $field_value.= ‘?’;

         $field_post .= ‘$arr[“‘.$field_name.'”]’;

         }else{

         $field_name .= $value.’,’;

         $field_value.= ‘?,’;

         $field_post .= ‘$arr[“‘.$value.'”],’;

         }

    }

    $sql .= $field_name.’) VALUES (‘.$field_value.’);’;

    $mysqli=connect();

    $stmt = $mysqli-prepare(“{$sql}”);

    $exe_str = ‘$stmt-bind_param(“ssss”,’.$field_post.’);’;

    //输出字符串结果

    echo $sql.’hr/’;

    echo $exe_str;

    //然后用eval执行字符串代码

    eval($exe_str);//相当于是:$stmt-bind_param(‘ssss’,$arr[‘username’],$arr[‘password’],$arr[‘u_name’],$arr[‘u_time’]);

    stmt-execute();

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/207154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-08 14:20
下一篇 2024-12-08 14:21

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • 如何切分英文

    切分英文是自然语言处理中的一个重要步骤,它包括将一段英文文本划分成若干个单词和标点符号。如何准确地切分英文对于后续的文本处理任务具有决定性的影响,因此切分英文也成为了自然语言处理领…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29

发表回复

登录后才能评论