Javascript 如何使用OOP原则组织web应用程序的代码?

Javascript 如何使用OOP原则组织web应用程序的代码?,javascript,php,ajax,oop,web,Javascript,Php,Ajax,Oop,Web,我正在设计我的第一个web应用程序,我正在寻找一些关于如何在其中实现oop原则的建议 基本上,该应用程序由许多级联下拉选择组成,这些选择使用Jquery ajax填充选项,以便构建sql语句来返回特定的数据集,包括执行一些计算 到目前为止,我构造它的方式是在脚本标记中包含许多JS函数,用于ajax调用和相应的事件处理程序。例如: $('#show_result').on('click', getResult); function getResult() { alert( "Result

我正在设计我的第一个web应用程序,我正在寻找一些关于如何在其中实现oop原则的建议

基本上,该应用程序由许多级联下拉选择组成,这些选择使用Jquery ajax填充选项,以便构建sql语句来返回特定的数据集,包括执行一些计算

到目前为止,我构造它的方式是在脚本标记中包含许多JS函数,用于ajax调用和相应的事件处理程序。例如:

$('#show_result').on('click', getResult);

function getResult() {
    alert( "Results displayed" );

    $.ajax(
    {
        url: "calc_php/get_results.php", 
        success: function(result)
        {
            $("#texty").html(result);
        }
    });
}
<?php
    include '../../database.php';
    $pdo = Database::connect();
    $sql = 'SELECT * FROM country ORDER BY country_id;';
    foreach ($pdo->query($sql) as $row) {
        echo '<option value="'.$row['country_id'].'">'.$row['descrp'].'</option>';
    }
    Database::disconnect();
?>
然后一些php包含文件,例如:

$('#show_result').on('click', getResult);

function getResult() {
    alert( "Results displayed" );

    $.ajax(
    {
        url: "calc_php/get_results.php", 
        success: function(result)
        {
            $("#texty").html(result);
        }
    });
}
<?php
    include '../../database.php';
    $pdo = Database::connect();
    $sql = 'SELECT * FROM country ORDER BY country_id;';
    foreach ($pdo->query($sql) as $row) {
        echo '<option value="'.$row['country_id'].'">'.$row['descrp'].'</option>';
    }
    Database::disconnect();
?>
我知道,对于这么小的应用程序,oop可能没有必要,但是出于学习的兴趣,有人能建议我在这方面使用oop的方向吗?我得到的唯一模糊的一点是数据库连接类:

<?php
class Database
{
    private static $dbName = 'web_app' ;
    private static $dbHost = 'localhost' ;
    private static $dbUsername = 'root';
    private static $dbUserPassword = '**NotThatStupid**';

    private static $cont  = null;

    public function __construct() {
        die('Init function is not allowed');
    }

    public static function connect()
    {
       // One connection through whole application
       if ( null == self::$cont )
       {     
        try
        {
          self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword); 
        }
        catch(PDOException $e)
        {
          die($e->getMessage()); 
        }
       }
       return self::$cont;
    }

    public static function disconnect()
    {
        self::$cont = null;
    }
}
?>
如有任何建议或建议,我们将不胜感激

您的php数据库类更像是一个实用程序类

在OOP原则中思考时,将数据视为对象,并设计它们的属性和方法

例如,在表行检索中

    foreach ($pdo->query($sql) as $row) {
      echo '<option value="'.$row['country_id'].'">'.$row['descrp'].'</option>';
    }
希望这能让你开始用OOP思考。
随着您越来越熟悉,由于您使用从数据库派生的数据创建对象,您将需要研究使用ORM。

PHP和JavaScript组合的通用OOP教程对于SO来说有点超出范围。感谢-抱歉,我的第一个问题。虽然,公平地说,我不是在寻找一个教程,只是一些关于从这里走到哪里的指针:可能是合适的,和/或你可以在引用其他网站时搜索meta@StephenP,指出这个问题通常是有帮助的,在那里,它可能会被关闭为重复的