有人试过把PHP ActiveRecord放在WordPress上吗?

时间:2014-07-23 作者:Mauricio Moraes

我曾与Ruby on Rails合作过,我正在寻找一些代码,这些代码与wonderfull RoR的ActiveRecord非常接近。

我走过this site. 它的PHP ActiveRecord!

我发现它很神奇,这正是我想要的,但我没有发现任何人试图在WordPress上使用它,所以我有点害怕。

你有什么可以分享的经验吗?

我的第一个想法是在功能上要求库。并创建一个子主题,其中包含文件夹中的模型。我真正不知道的是它将如何处理数据库中不能处理的表。

好吧,我等你的印象。

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

如果您计划将其仅用于自己的代码,并将其与WordPress的默认数据库驱动程序一起运行(wpdb), 我看不出有什么真正的问题。

只有当您计划完全集成/覆盖WP的驱动程序时,我才认为这几乎是不可能的;硬编码SQL在整个core中非常丰富,将其转换为ActiveRecord方法调用将挫败任何代码优化的努力。

FWIW,WordPress确实支持驱动程序覆盖db.php 在您的wp-content 目录

Update: 为了将PHP ActiveRecord引入WordPress,我建议使用MU插件。这使它远离主题(不属于主题的地方)、WordPress核心,并确保始终加载它(Must公司Use插件无法在管理中停用)。

将库复制到wp-content/mu-plugins/php-activerecord. 然后在wp-content/mu-plugins/php-activerecord.php:

<?php

/**
 * Plugin Name: PHP ActiveRecord
 * Description: Load the PHP ActiveRecord library for use in plugins &amp; themes.
 * Version:     0.1
 * Author:      TheDeadMedic
 * Author URI:  http://wordpress.stackexchange.com/users/1685/thedeadmedic
 * Plugin URI:  http://wordpress.stackexchange.com/a/155530
 */

require_once dirname( __file__ ) . \'/php-activerecord/ActiveRecord.php\';

ActiveRecord\\Config::initialize(
    function ( $cfg ) {
        $cfg->set_model_directory( \'/path/to/your/model_directory\' );
        $cfg->set_connections(
            array(
                \'wordpress\' => sprintf( \'mysql://%s:%s@%s/%s?charset=%s\', DB_USER, DB_PASSWORD, DB_HOST, DB_NAME, DB_CHARSET ),
            )
        );

        $cfg->set_default_connection( \'wordpress\' );
    }
);

SO网友:PayteR

PHPactiverecord 自2013年以来一直是一个死气沉沉的项目。

尝试使用来自的模型WPMVC 相反

http://wpmvc.org/documentation/models/

结束

相关推荐

我想扩展当前主题的single.php以显示我的CPT的元字段

我正在开发一个插件,它注册了一个角色、一个CPT和一些元数据库。现在,我也加入了一个mycpt。php到我的插件中。这是我当前的问题:我不能简单地假设他们将使用twentforteen,所以我不能复制粘贴这一个并将其扩展到我的需要。是否有既定的最佳实践来检索和扩展当前使用的单个。当前使用的主题的php?现在我注册了这首单曲的副本。php是我当前的主题,但我希望它能更具实用性。*/* Filter the single_template with our custom function */ fun