小编Dan*_*ugg的帖子

数据库表,一个表引用多个不相关的表

在我的搜索中,这个问题已在各种论坛中出现过几次,但没有一个提供简洁的解决方案.

如果我有以下表格:

User
+- id
+- username
+- password

Article
+- id
+- title
+- content
Run Code Online (Sandbox Code Playgroud)

我想加入他们以确定谁创建了哪些文章,我只需将user_id列添加到文章中即可用作参考.或者,我正在添加一个中间表来显示谁/何时/什么,例如:

User
+- ...

Article
+- ...

ChangeHistory
+- id
+- article_id
+- user_id
+- type [enum(insert, update, delete)]
+- datetime
Run Code Online (Sandbox Code Playgroud)

现在这很好,但我正在研究的系统需要更加动态,因为新模块可以很容易地引入和集成.所以现在如果我添加一个Media表,我需要在ArticleMedia之间拆分ChangeHistory:

User
+- ...

Article
+- ...

Media
+- id
+- title
+- path

ArticleChangeHistory
+- id
+- article_id
+- user_id
+- type [enum(insert, update, delete)]
+- datetime

MediaChangeHistory
+- id …
Run Code Online (Sandbox Code Playgroud)

mysql sql database-design foreign-key-relationship

5
推荐指数
1
解决办法
2310
查看次数

使用jQuery的background-image预加载器

我正在开发一个背景图像密集的网站.由于一些图像很大,页面的美学吸引力将不可避免地受到初始加载,可能持续几秒钟.

所以我试图用jQuery创建一个背景图像预加载器,这里是我所在的位置:

$(document).ready(function(e){
  $('*')
    .each(function(){
        if($(this).css('background-image') != 'none'){

            //so, i can get the path, where do i go from here?
            alert($(this).css('background-image').slice(5, -2));

        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我使用了一个Image()对象数组,使用从迭代器中提取的路径来加载图像,但是我迷失了从这里开始的地方.

如何确定阵列中的所有图像何时"已加载",以便我可以调用一个函数来淡出预加载窗帘或其他东西?

jquery image-processing preloader

5
推荐指数
1
解决办法
3855
查看次数

ArrayAccess如何工作?

我一直在阅读有关PHP从SPL常用的接口,如Iterator,CountableArrayAccess.但是,我不确切地知道它们是如何工作的.

他们的实现是否修改了PHP的核心功能,例如重载[]数组运算符?

我还读过有关Operator扩展的内容,它提供了以与低级语言相同的方式重载其他运算符的能力.由于Operator扩展明确地修改了PHP核心,我想知道ArrayAccess幕后是否采取相同的行动?

我是一个修补匠,因此我发现很难在不知道引擎盖的情况下使用它.

php spl php-extension

5
推荐指数
1
解决办法
511
查看次数

模块与控制器

我正在为一个(哦不,另一个)PHP 框架编写一些零散的内容,作为一种学习经验,并希望将来可以在较小的项目中使用。

我已经阅读了相当多的内容,即现有框架的参考文档。我经常看到“模块”这个词,根据我的阅读和以前的经验,模块是一个用于划分相关代码(视图、控制器、模型等)的概念。

我很好奇,SO 在这种情况下如何看待模块?(上下文是 MVC Web 应用程序架构,或类似的应用程序开发模式)

我正在尝试确定如何最好地应用它,因为(我相信)它适合我当前的困境。对于音乐网站,模块将被视为ArtistProducer等,而控制器将是ProfileMedia等。这当然会留下动作,例如View、 或Edit

这一切看起来都不错,因为现在我可以像这样进行路由:

'Artist/Profile/View/{ALIAS}'
    +- Module : Artist
    +- Controller : Profile
    +- Action : View

//this may be accessed via music.com/artist/{alias}
//defaulting the Controller and Action
Run Code Online (Sandbox Code Playgroud)

..但我试图弄清楚模块概念如何适合这里,特别是我将如何组织或修改我的控制器以适应。


这就是我正在考虑的文件系统布局;

+- Root
    +- 'index.php'
    +- 'api.php'
    +- Modules
    |   +- Public
    |   |   +- Controllers
    |   |   +- Views
    |   |
    |   +- User …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller routes module

5
推荐指数
1
解决办法
1534
查看次数

Apache,mod_*,PHP,Perl,Python,Ruby; 向后学习

我前段时间开始进行Web开发,但我基本上都花了很多时间学习PHP,MySQL/SQLite,(X)HTML/XML(XPath,XQuery,XSL)等.我带着一个开箱即用的东西XAMPP安装,一切都非常简单,我可以专注于语言学习.

然而,现在,我正在学习Ruby和Python(以及更多的Perl),但令我沮丧的是,我发现我基本上不了解Apache配置,或者与为嵌入式PHP设置环境相关的任何相关任务,Perl, Python和Ruby.

我最近发布了一个问题,我认为会带我在正确的方向.阅读完mod_wsgimod_rails文档之后,我比开始时更困惑.

我正在使用现有的XAMPP安装运行Windows 7 x64,刚刚使用了Ruby和Python,只安装了NetBeans; 而且我想知道:

  • 我应该从一个新的Apache安装开始,还是XAMPP很好地堆积其他模块?

  • 在哪里可以找到有关配置Apache以支持这些模块的一些信息?我正在逐步构建一个支持部分,全部或更多上述语言的环境.

我想我的问题可归纳为; 有哪些建议的阅读/学习资源用于配置基于Apache的多语言Web应用程序开发环境?

我希望这个问题不被认为具有高度的主观性或普遍性; 我只是迷失了,不想浪费时间茫然地盯着配置文件等.

我真的很感激任何见解,并原谅我的noob因素.我很惊讶我和这个领域一样不熟悉,很快就需要改变它.

php ruby python apache perl

5
推荐指数
1
解决办法
1284
查看次数

MySQL/PDO :: quote(),在整数周围加上单引号

无论我传递给哪个值/数据类型对$pdo->quote($value, $type);,它似乎总是将其引用为字符串:

echo $pdo->quote('foo', PDO::PARAM_STR); /* 'foo', as expected */

echo $pdo->quote(42, PDO::PARAM_INT);    /* '42', expected 42 unquoted */
Run Code Online (Sandbox Code Playgroud)

我只是想知道这是否是预期的功能.我使用预准备语句来执行实际查询,但我正在尝试获取 创建最终查询字符串(用于调试/缓存),并且正在手动构建它们.

正如标题所示,这是$pdo使用MySQL驱动程序创建的时间.由于不可用,我没有尝试过其他人.

mysql pdo types querystringparameter

5
推荐指数
1
解决办法
2242
查看次数

如何使用PHP连接sqlite数据库?

我已经尝试使用PHP PDO连接数据库.我有很多样品,我不确定是什么问题.

下面是我的代码

<?php
    try
    {
        // $db = new PDO('sqlite:sampleDB.db3');
        // $db = new SQLiteDatabase('sampleDB.sqlite', 0666, $error);  
        $db = new PDO('sqlite:sampleDB.sqlite');
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
    }
?>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多方法来打开连接.请告诉我正确的方法......

php sqlite pdo

5
推荐指数
2
解决办法
2万
查看次数

PHP中的静态变量字符串解析

很简单; 我已经阅读了文档,但也许我只是对解释感到困惑.

class Test{
    public static $var = 'world';
}

echo "hello {Test::$var}"; // only parses $var in current scope, which is empty
Run Code Online (Sandbox Code Playgroud)

有没有办法在这里实现所需的功能?我开始猜不到,因为我已经尝试了一些没有成功的排列.

澄清:我正在尝试使用PHP的变量解析来实现这一点,而不是连接.显然,如果不可能使用所需的方法,我会求助于连接,尽管我希望它是.

php string variables parsing

5
推荐指数
1
解决办法
3755
查看次数

CSS 允许的最大高度(以像素为单位)

我知道不同的浏览器可能有不同的上限值,但是对于给定浏览器中最大可渲染 CSS 高度/宽度的良好经验法则是什么?

例如这个技巧:

.parent{
    overflow: hidden;
}

.column{
    float: left;
}

.max-height{
    margin-bottom: -30000px;
    padding-bottom: 30000px;
}
Run Code Online (Sandbox Code Playgroud)
.parent{
    overflow: hidden;
}

.column{
    float: left;
}

.max-height{
    margin-bottom: -30000px;
    padding-bottom: 30000px;
}
Run Code Online (Sandbox Code Playgroud)

我知道这几乎是愚蠢的,但如果一个页面扩展到超过30000px,那么现在这个技巧就不起作用了。

我见过32768px在不同的地方使用过;这是因为较高的值不可靠,还是仅仅因为它是一个很好的平方数?

css size pixel cross-browser

5
推荐指数
1
解决办法
1280
查看次数

澄清PHP手册; 通过引用传递的默认值

由于PHP手册中的不一致(正如我之前发布的那样),我只是在询问一些澄清.

函数参数页面(http://ca2.php.net/manual/en/functions.arguments.php)有以下注意事项:

注意:从PHP 5开始,默认值可以通过引用传递.

现在,我认为这只是意味着可以接受以下语法:

function foo(&$bar = null){
    // ...
}
Run Code Online (Sandbox Code Playgroud)

然而,再次由于其他不一致,我想知道这是否属于其他东西.

php parameters function

5
推荐指数
1
解决办法
1044
查看次数