catfan
V2EX  ›  PHP

[很重要]调查一下,大家在PHP中用什么框架或方式来使用SQL数据库的?

  •  
  •   catfan · Feb 17, 2013 · 7549 views
    This topic created in 4856 days ago, the information mentioned may be changed or developed.
    具体来说就是在PHP中用什么方式来连接数据库来实现数据的查询,插入,更新,删除等操作。

    最基本的应该就是直接用mysql_query传递SQL语句吧:
    mysql_query("SELECT name FROM days WHERE uid=1");

    或好一点的应该就是使用内置的mysqli_query或者PDO来处理:
    mysqli_query("SELECT name FROM days WHERE uid=1");

    $database = new PDO();
    $database->query("SELECT name FROM days WHERE uid=1");

    还是使用某些PHP框架?框架的名称是什么?觉得如何?

    还是自己亲手写一个连接数据库的小框架之类的?

    之前查了一下,貌似这类的开源框架并不多呢。不知大家的使用情况是如何的。
    24 replies    1970-01-01 08:00:00 +08:00
    shiny
        1
    shiny  
    PRO
       Feb 17, 2013
    自己封装一个简单的数据库查询类,封装常用的功能(例如使用%s、%d来格式化并避免注入),以及自动读取配置文件、autoload、单例模式等。

    并在此基础上写个简单的ActiveRecord的ORM功能,简单语句可以使用。
    fork3rt
        2
    fork3rt  
       Feb 17, 2013
    我一般都是用AR模式来操作数据库的。 具体实现方法可以参考 CanPHP 里面的 cpModel.class.php (挺不错的学习型框架)
    august
        3
    august  
       Feb 17, 2013
    CI 的 Active Record

    Drupal 的算不算
    insraq
        4
    insraq  
       Feb 17, 2013
    Doctrine, Propel, Redbean
    chuck911
        5
    chuck911  
       Feb 17, 2013
    推荐这个 http://j4mie.github.com/idiormandparis/

    特别是Idiorm,轻巧强大

    $user = ORM::for_table('user')
    ->where_equal('username', 'j4mie')
    ->find_one();

    $user->first_name = 'Jamie';
    $user->save();
    aveline
        6
    aveline  
       Feb 17, 2013
    PDO
    xing393939
        7
    xing393939  
       Feb 17, 2013
    thinkphp,如果php是建网站的草根语言,那么tp算的上是php中的草根框架,在现在大多数公司要求“quick and dirty”的开发需求下,tp还是很不错的
    catfan
        8
    catfan  
    OP
       Feb 17, 2013
    还有么?
    xsharp
        9
    xsharp  
       Feb 17, 2013
    Zend_Db
    doctrine
    saharabear
        10
    saharabear  
       Feb 17, 2013
    doctrine

    或者直接使用pdo
    twm
        11
    twm  
       Feb 17, 2013
    当然是用框架拉,推荐symfony2 laravel ci
    MayLava
        12
    MayLava  
       Feb 17, 2013
    我在PHP里用的这个
    http://redbeanphp.com/
    catfan
        13
    catfan  
    OP
       Feb 18, 2013
    还有么?名气比较大的是那个?
    RobinFai
        14
    RobinFai  
       Feb 18, 2013
    个人比较喜欢 Yii的CActiveRecord,话说 2.0都一年了,还是遥遥无期。
    holystrike
        15
    holystrike  
       Feb 18, 2013
    redbean
    快速项目非常好用
    bufannao
        16
    bufannao  
       Feb 18, 2013 via Android
    kohana3
    subpo
        17
    subpo  
       Feb 18, 2013
    speedphp 快速开发很好用,model里面写好一对多 多对多
    比如我要查询全部信息,还要分类好,直接
    spclass('db_xxx')->splinker()->sppager()->findall('query')
    catfan
        18
    catfan  
    OP
       Feb 18, 2013
    @bufannao 这是日本开发的?
    crossmaya
        19
    crossmaya  
       Feb 20, 2013
    @catfan 从哪刊出来的??kohana3不错
    geo5078
        20
    geo5078  
       Feb 22, 2013
    Mutoo
        21
    Mutoo  
       Feb 22, 2013
    ORM模式都挺好用,不过我只小试过国产的 thinkphp 在 sae 上开发。你可以参考一下 thinkphp 手册

    http://doc.thinkphp.cn/manual/features.html

    http://doc.thinkphp.cn/manual/curd.html
    dodogod
        22
    dodogod  
       Feb 27, 2013 via iPhone
    推荐这个 http://j4mie.github.com/idiormandparis/

    特别是Idiorm,轻巧强大

    ======
    同推荐,支持php5.2哦
    picasso250
        23
    picasso250  
       Mar 27, 2013
    看了上面的回复,我把我自用的一个开源出来了。现在看来和 paris 有点像,不过是受到 Doctrine 的启发。之前基于 PDO 的,刚刚换成了 LazyPHP 的 db 类了,可能会有很多 bug。
    https://github.com/picasso250/LazyPHP-AR
    konakona
        24
    konakona  
       May 5, 2013
    thinkphp的ORM
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2743 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 15:02 · PVG 23:02 · LAX 08:02 · JFK 11:02
    ♥ Do have faith in what you're doing.