Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP类示例_Php - Fatal编程技术网

PHP类示例

PHP类示例,php,Php,有人能帮我学习php类的例子吗。我必须制作包含用户信息的类信息:id、电子邮件、密码、名字、姓氏、电话 另外,类必须有一个方法来打印输出上的所有用户数据。我建议您阅读以下内容:然后带着任何问题返回。下面是一个PHP类的示例: class DBIGenerator{ private $table; private $name; private $path; public function __construct($table,$name='default_file.

有人能帮我学习php类的例子吗。我必须制作包含用户信息的类信息:id、电子邮件、密码、名字、姓氏、电话


另外,类必须有一个方法来打印输出上的所有用户数据。

我建议您阅读以下内容:然后带着任何问题返回。

下面是一个PHP类的示例:

class DBIGenerator{
    private $table;
    private $name;
    private $path;
    public function __construct($table,$name='default_file.php',
            $path='DEFAULTPATH/'){
        $this->table=$table;
        $this->name=$name;
        $this->path=$path;
    }
    public function generate(){
        // build class header
        $str='<?php class '.$this->name.'{';
        if(!$result=mysql_query('SHOW COLUMNS FROM '.$this->table)){
            throw new Exception('Failed to run query');
        }
        // build data member declaration
        if(mysql_num_rows($result)<1){
            throw new Exception('Not available columns in table');
        }
        $methods='';
        while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
            $str.='private $'.$row['Field'].'=\'\';';
            $methods.='public function set'.$row['Field'].'($'.$row
                 ['Field'].'){$this->'.$row['Field'].'=$'.$row
                 ['Field'].';}';
            $methods.='public function get'.$row['Field'].'(){return 
                 $this->'.$row['Field'].';}';
            // store field names in array
            $fields[]=$row['Field'];
        }
         // build empty constructor
        $str.='public function __construct(){}';
         // build modifiers and accessors
        $str.=$methods;
         // build load() method
        $str.='public function load(){$r=mysql_query("SELECT * FROM
                 '.$this->table.' WHERE id=\'$this->id\'");';
        $str.='return mysql_fetch_array($r,MYSQL_ASSOC);}';
        // build submit() method
        $str.='public function submit(){mysql_query("INSERT INTO '.$this-
                 >table.' SET ';
        foreach($fields as $field){
            $str.=($field!='id')?$field.'=\'$this->'.$field.'\',':'';
        }
        $str.='");$this->id=mysql_insert_id();';
        $str=preg_replace("/,\"/","\"",$str).'}';
        // build update() method
        $str.='public function update(){mysql_query("UPDATE '.$this-
                 >table.' SET ';
        foreach($fields as $field){
            $str.=($field!='id')?$field.'=\'$this->'.$field.'\',':'';
        }
        $str=preg_replace("/,$/","",$str);
        $str.=' WHERE id=\'$this->id\'");}';
        // build delete() method
        $str.='public function delete(){mysql_query("DELETE FROM '.
                 $this->table.' WHERE id=\'$this->id\'");}';
        $str.='}?>';
        // open or create class file
        if(!$fp=fopen($this->path.$this->name.'.php','w')){
            throw new Exception('Failed to create class file');
        }
        // lock class file
        if(!flock($fp,LOCK_EX)){
            throw new Exception('Unable to lock class file');
        }
        // write class code to file
        if(!fwrite($fp,$str)){
            throw new Exception('Error writing to class file');
        }
        flock($fp,LOCK_UN);
        fclose($fp);
        // delete temporary variables
        unset($fp,$str,$row,$fields,$field,$methods);
    }
    public function getObject(){
        // check if class file exists
        if(!file_exists($this->path.$this->name.'.php')){
            throw new Exception('Failed to include class file');
        }
        require_once($this->path.$this->name.'.php');
        // create data access object
        return new $this->name;
    }
}

阅读更多信息,请访问

这是一个非常简单的框架,因为您没有尝试过任何东西,所以只想让您了解它的工作原理

class User
{
   private $id;
   private $email;
   // ...

   public function __construct($id, $email...)
   {
      $this->id = $id;
      $this->email = $email;
      // ...
   }

   public function printAll()
   {
      return $this->id . ' ' . $this->email;
   }
}

请看下面的代码片段,作为实现所表达内容的基本方法:

<?php
class information
{
    public $id    = 1;
    public $email = "mail@mail.com";
    public $pw    = "A2D7DFEA88AC88"; //Don't forget, PW are usually hashed ;)
    public function id() {
        echo $this->id;
    }
    public function email() {
        echo $this->email;
    }
    public function pw() {
        echo $this->pw;
    }
}
$test = new information();
$test->id;
?>
读,读,读::我在我的电脑上保存了一份平装本