小编Jer*_*ris的帖子

漂浮在图像上的Div

我在为图像浮动div时遇到了麻烦.这是我想要完成的:

    .container {
       border: 1px solid #DDDDDD;
       width: 200px;
       height: 200px;
    }
    .tag {
       float: left;
       position: relative;
       left: 0px;
       top: 0px;
       z-index: 1000;
       background-color: #92AD40;
       padding: 5px;
       color: #FFFFFF;
       font-weight: bold;
    }
Run Code Online (Sandbox Code Playgroud)
    <div class="container">
       <div class="tag">Featured</div>
       <img src="http://www.placehold.it/200x200">
    </div>
Run Code Online (Sandbox Code Playgroud)

在这张图片中:

在此输入图像描述

我希望"精选"框浮动在图像的顶部,但它似乎"清除"浮动并导致图像换行到下一行,就像它显示为块元素一样.不幸的是,我无法弄清楚我做错了什么.有任何想法吗?

html css z-index css-float

48
推荐指数
3
解决办法
18万
查看次数

Ruby输出Unicode字符

我不是一个Ruby dev的交易,但我使用Capistrano进行PHP部署.我正在尝试清理脚本的输出,并尝试添加一个unicode复选标记,本博客中所述.

问题是如果我这样做:

checkmark = "\u2713"
puts checkmark
Run Code Online (Sandbox Code Playgroud)

它输出"\ u2713"而不是✓

我已经google了,我找不到任何讨论这个的地方.

TLDR:我如何putsprintunicode勾选U-2713?

编辑


我在我的Mac(OSX Lion)上运行Ruby 1.8.7,因此无法使用该encode方法.我的shell是iTerm2中的Bash.

ruby string unicode utf-8 ruby-1.8.7

39
推荐指数
4
解决办法
4万
查看次数

WordPress插件:如何避免"紧耦合"?

我正在使用WordPress插件,我正在努力确保最佳实践.我有两个类,我的插件类"Jargonaut"是必需的,然后是另一个名为"Dictionary"的类,它包含require_once()在我的主插件文件中.

Jargonaut类中的大多数代码都处理初始化并提供类似控制器的功能,但其中大部分都高度依赖于使用Dictionary对象(即根据我对术语的理解紧密耦合).我希望将Dictionary类保持分离,因为它更像是模型(在MVC架构中)并且与我的数据库接口.

我看到紧密与松散耦合中有很多灰色区域,我很难决定多少太多了?

php oop wordpress

35
推荐指数
1
解决办法
2475
查看次数

Laravel自定义模型方法

每当我向Eloquent模型添加额外的逻辑时,我最终都必须使它成为一种static方法(即不太理想)才能从模型的外观中调用它.我已经尝试了很多关于如何以正确方式执行此操作的内容,并且几乎所有结果都讨论了创建返回Query Builder接口部分的方法.我试图弄清楚如何添加可以返回任何东西的方法,并使用模型的外观进行调用.

例如,假设我有一个名为的模型,Car并希望得到它们:

$cars = Car::all();
Run Code Online (Sandbox Code Playgroud)

好的,除了现在,假设我想通过make将结果排序为多维数组,所以我的结果可能如下所示:

$cars = array(
  'Ford' => array(
     'F-150' => '...',
     'Escape' => '...',
  ),
  'Honda' => array(
     'Accord' => '...',
     'Civic' => '...',
  ),
);
Run Code Online (Sandbox Code Playgroud)

以这个理论为例,我很想创建一个可以被称为的方法:

$cars = Car::getAllSortedByMake();
Run Code Online (Sandbox Code Playgroud)

让我们忘记一下可怕的方法名称以及它与数据结构紧密耦合的事实.如果我在模型中创建这样的方法:

public function getAllSortedByMake()
{
   // Process and return resulting array
   return array('...');
}
Run Code Online (Sandbox Code Playgroud)

最后在我的控制器中调用它,我将抛出此异常:

非静态方法Car :: getAllSortedByMake()不应该静态调用,假设$ this来自不兼容的上下文

TL; DR:我如何添加有意义的自定义功能,使其成为模型而不使其成为静态方法并使用模型的外观调用它?


编辑:

这是一个理论上的例子.也许这个问题的改写更有意义.为什么某些非静态方法在Eloquent模型的外观上是可用的,all()或者which()在模型中添加了其他方法?这意味着__call正在使用魔术方法,但是如何让它在模型中识别我自己的函数?

可能比"排序"更好的例子是,如果我需要对一段数据运行计算或算法:

$validSPG = Chemical::isValidSpecificGravity(-1.43);
Run Code Online (Sandbox Code Playgroud)

对我而言,这样的事情在模型中是有道理的,因为它是特定于域的.

php facade laravel eloquent laravel-4

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

Browserify需要目录中的所有文件

我是Browserify(以及一般的Javascript构建系统)的新手,并且已经达到了我彻底困惑的程度.

我有Gulp设置来做我的构建,它一直工作正常,最近我一直在使用Browserify捆绑 - 主要是因为我可以将我的代码分成单独的文件和require()他们需要的地方.

我的问题是,我有一个文件夹,其中有一些我需要在另一个模块中需要的小模块,我试图避免硬编码所有这些模块的名称.有没有办法要求所有文件?

我尝试过使用BulkifyFolderify但无法让它们工作.例如,使用Bulkify,安装的软件包称为bulkify,位于node_modules文件夹中,但随后它们会告诉您需要bulk-require,它位于bulkify软件包的sub node_modules文件夹中.当我尝试时,Browserify会出现Cannot find module 'bulk-require'...类型错误.

此时我很困惑,因为我不知道为什么这两个的安装方向都不起作用(也不管他们是否会帮助我).我应该在我的Gulp文件中使用它们吗?或者我可以在我的一个模块中使用它们,它会在Browserify期间被调用吗?

如果这有帮助,这是我的构建任务的片段:

// Report Builder
gulp.task('script-builder', function() {

    // Unminified
    // **********************************************************
    browserify({entries: './resources/assets/js/report/builder.js'})
        .on('error', function (err) { console.log(err); this.emit('end'); })
        .bundle()
        .on('error', function (err) { console.log(err); this.emit('end'); })
        .pipe(source('builder.js'))
        .on('error', function (err) { console.log(err); this.emit('end'); })
        .pipe(buffer())
        .on('error', function (err) { console.log(err); this.emit('end'); })
        .pipe(gulp.dest('./public/js/debug'));

    // Minified
    // **********************************************************
    browserify({entries: './resources/assets/js/report/builder.js'})
        .on('error', function (err) { console.log(err); this.emit('end'); …
Run Code Online (Sandbox Code Playgroud)

javascript npm browserify gulp

19
推荐指数
1
解决办法
1万
查看次数

Capistrano Symlinks被缓存?

我一直在CentOS 6上使用Capistrano建立PHP部署,并遇到了一个有趣的问题.capistrano工作的方式,它设置这样的文件夹:

  • /var/www/myapp.com/
    • current(符号链接到/ release中的最新版本)
    • 共享
    • 发布
      • 20130826172737
      • 20130826172114

当我查看"当前"符号链接时,它指向最新版本.首先,在打开我的网络应用程序时,一切正常.部署新版本后,当前文件夹正确指向新版本,但Web应用程序尝试从旧版本(已在Capistrano清理过程中删除)中加载文件.此外,虚拟主机配置为指向/var/www/myapp.com/current/Public.

符号链接是否以任何方式缓存?

失败的特定PHP代码(初始化我的框架)是这样的:

require_once dirname(dirname(__FILE__)) . '/App/App.php';
App\App::run();
Run Code Online (Sandbox Code Playgroud)

这是在index.php中,目前位于/var/www/app.com/current/Public/index.php.

我的Apache错误日志显示:

PHP致命错误:require_once():未能打开'/var/www/myapp.com/releases/20130826172237/App/App.php'(include_path ='.:/ usr/share/pear:/ usr/share/php ')/var/www/myapp.com/releases/20130826172237/Public/index.php

当前的符号链接显示:

当前 - >/var/www/zverse/releases/20130826172641

显然是20130826172641!= 20130826172237,后者是以前的版本.

我能看到的任何想法或领域?

php symlink capistrano

12
推荐指数
1
解决办法
3391
查看次数

月相API

我试图找到一个免费的API,提供月相预测,包括月出和月亮.我的基于PHP的潮汐表应用程序正在使用NOAA来获取潮汐和天气数据,但它们似乎并不提供任何月球数据.Google是否将其内置于我不熟悉的API中?

如果没有人知道免费的API(最好是政府提供的),有人知道一个简单的计算方法吗?我已经看过这篇文章,但解决方案正试图以高精度计算它们.如果它稍微偏离,那很好.

php api web-applications

10
推荐指数
1
解决办法
1万
查看次数

确定浮动元素中的换行位置

假设我<div>在容器中有六个元素<div>.这六个div中的每一个都是正方形并且float: left应用了CSS样式.默认情况下,当它们到达容器的边缘时,<div>它们将换行.

现在,我的问题是,使用Javascript,是否可以确定包装在哪个元素?

如果它们在页面上显示如下:

 ___   ___
| 1 | | 2 |
----- -----
 ___   ___
| 3 | | 4 |
----- -----
Run Code Online (Sandbox Code Playgroud)

我试图确定换行发生在第二个和第三个元素之间.如果你想知道我是否已经失去了理智,我试图这样做的原因是如果点击其中一个框,我希望能够通过一些花哨的shQueryy jQuery下拉行之间的信息区域.

 ___   ___
| * | | ! |
----- -----
| Someinfo|
 ___   ___
| * | | * |
----- -----
Run Code Online (Sandbox Code Playgroud)

有关确定中断发生位置的任何想法?

PS我浮动并让它自动换行的原因是为了让它具有响应性.现在,如果我调整浏览器大小,它会相应地包装盒子.我不想硬编码列宽.

[编辑] 由于Explosion Pills提供的答案,我能够提出一个解决方案.

// Offset of first element
var first = $(".tool:first").offset().left;
var offset = 0;
var count = 0;

$(".box").each(function () …
Run Code Online (Sandbox Code Playgroud)

jquery resize css-float responsive-design

10
推荐指数
2
解决办法
5045
查看次数

PHP类中的"瞬态"属性?

我已经使用PHP几年了,但到目前为止,从未需要明确地处理序列化,只使用了$_SESSION.现在我有一个项目要求我手动实现某些数据的序列化机制 - 我意识到这个问题也适用$_SESSION.

我有一个包含许多属性的类.大多数这些属性都很小(如内存消耗):数字,相对较短的字符串等.但是该类还包含一些属性,这些属性可能包含HUGE数组(例如,数据库表的整个转储:100,000行,每行100个字段) ).碰巧,这是需要序列化/反序列化的类之一 - 幸运的是,包含大型数组的属性不需要序列化,因为它们本质上是临时工作,并且在必要时进行重建.

在Java中的这种情况下,我只是将属性声明为transient- 并且它将从serialisaion中省略.不幸的是,PHP不支持这样的限定符.

处理的一种方法是它有这样的东西:

class A implements Serializable
{
    private $var_small = 1234;
    private $var_big = array( ... );  //huge array, of course, not init in this way

    public function serialize()
    {
        $vars = get_object_vars($this);
        unset($vars['var_big']);
        return serialize($vars);
    }

    public function unserialize($data)
    {
        $vars = unserialize($data);
        foreach ($vars as $var => $value) {
            $this->$var = $value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这是相当麻烦的,因为serialize每次添加另一个瞬态属性时我都需要更新方法.此外,一旦继承发挥作用,这变得更加复杂 - 处理,因为瞬态属性可能在子类和父类中.我知道,它仍然可行,但我更愿意尽可能多地委托语言,而不是重新发明轮子.

那么,处理瞬态属性的最佳方法是什么?或者我错过了什么,PHP支持这个开箱即用?

php inheritance serialization class

9
推荐指数
1
解决办法
3355
查看次数

基于媒体查询的可选Javascript执行

我试图找出如何根据当前的设备/媒体查询选择运行一个javascript块.我正在使用Twitter Bootstrap,基本上有两个版本的媒体查询:

@media (min-width: 980px) { ... } <!-- Desktops -->
@media (max-width: 979px) { ... } <!-- Smaller screens/tablets/phones -->
Run Code Online (Sandbox Code Playgroud)

我有一个我生成的地图,但我没有在移动/小屏幕版本中显示它和宽带原因.然而,即使您无法在移动屏幕上看到它,javascript仍会在后台执行.所以,我试图在javascript中找到一种方法,我可以做以下事情:

// Imaginary function
var screenType = getScreenType();

if(screenType == 1) {
   // Load map
}
Run Code Online (Sandbox Code Playgroud)

我已经读过人们在他们的媒体查询中将CSS属性设置为特定值,然后尝试根据CSS属性在DOM中找到该元素,但必须有更好的方法.有任何想法吗?

javascript css media-queries

9
推荐指数
3
解决办法
9054
查看次数