首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在另一个类PHP中使用类,但不包含

在另一个类PHP中使用类,但不包含
EN

Stack Overflow用户
提问于 2012-08-30 01:23:34
回答 4查看 533关注 0票数 0

我现在基本上有3个重要的文件。我想在LOGIN类中使用DB类中的函数。这些是我的文件。我尝试包含DB类,但是我会声明它两次,这是你不能做的。

- index.php -显示内容--

代码语言:javascript
复制
<?php
     session_start();


include './libs/database.php';

$mysql = new Database();

include './libs/login.php';

$login = new Login();

$mysql->connect("---", "user", "pass"); 
$mysql->usedatabase("db"); 

    ?>

<!DOCTYPE html>
    <html>
        <body>
            <div id="wrapper">

                             CONTENT GOES HERE

            </div>          
        </body>

    </html>
---


---login.php ---

    class Login{

        public function isLoggedIn(){

            if(isset($_SESSION['user_id'])){

                return true;

            }else{
                return false;
            }
        }


        public function UserLogin($email,$password){
            // login function
                        $DB->selectwhere(...);
        }

        public function securePassword($pass){

            $pass =  md5($pass);

                return $pass;
        }
    }

---



--- database.php ---

 class Database{


       //Database Functions


 }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-30 09:12:30

使Login中的securePassword()函数成为静态函数,这样就可以在没有Login类实例的情况下调用它。

Login::securePassword()

票数 1
EN

Stack Overflow用户

发布于 2012-08-30 01:30:50

研究一下PHP的“自动加载”功能。实际上,只有在堆中不存在类时,才能按需查找这些类。

票数 2
EN

Stack Overflow用户

发布于 2012-08-30 01:35:07

将数据库类移动到文件Database.php。在index.php的顶部,使用require_once('Database.php');来包含数据库类。然后将UserLogin()函数更改为:

代码语言:javascript
复制
    public function UserLogin($email,$password){
        // login function
                    $DB = new Database;
                    $DB->selectwhere(...);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12183325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档