小编Ama*_*nut的帖子

laravel blade,如何附加到一个部分

如果您查看laravel官方文档http://laravel.com/docs/4.2/templates 它说给出这个布局:

<!-- Stored in app/views/layouts/master.blade.php -->

<html>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

通过这种观点扩展

@extends('layouts.master')

@section('sidebar')


    <p>This is appended to the master sidebar.</p>
@stop

@section('content')
    <p>This is my body content.</p>
@stop
Run Code Online (Sandbox Code Playgroud)

将附加到该部分sidebar.但实际上如果你尝试它不会附加,它只是覆盖扩展模板中的内容.

我听说过其他刀片功能@append, @prepend, @parent......似乎没有人工作.

除此之外,官方文档中的这个例子不起作用,我发现刀片文档非常差.例如@parent,刀片功能没什么.

php template-engine laravel blade laravel-4

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

为什么相对路径在Ruby中不起作用

我开始学习Ruby,有一点我不明白,为什么require指令的相对路径在ruby中不起作用.它几乎适用于我现在的每种脚本语言(JSP,PHP ......).我用一个真实的例子来解释.我有一个名为shapes的文件夹,其中包含3个类形状,矩形方形.我还有另一个文件test_shapes.rb来自我调用和测试我的类.当我将我的类导入到主文件时,如下所示:

require "./shape"
require "./rectangle"
require "./square"
Run Code Online (Sandbox Code Playgroud)

我找不到找不到的文件的错误.当我包含我的子文件夹的名称时,如下所示:

require "./shapes/shape"
require "./shapes/rectangle"
require "./shapes/square"
Run Code Online (Sandbox Code Playgroud)

代码完美无缺.因为我指定了项目根目录的整个路径(我认为是lib文件夹).当我包括我包括硬盘的绝对路径,如下所示:

require "#{File.dirname(__FILE__)}/shape"
require "#{File.dirname(__FILE__)}/rectangle"
require "#{File.dirname(__FILE__)}/square"
Run Code Online (Sandbox Code Playgroud)

它也很完美.

所以,我只是想要一些解释,如果知道为什么第一个导入方法(当前文件夹的相对路径)不起作用.

ruby ruby-on-rails relative-path

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

在ruby中定义模块内的方法(NoMethodError)

我正在学习红宝石,我想出了一些我不理解的东西.我知道ruby中的模块用于命名空间: :(或.)并与include指令混合.当我将一些方法组合在一个模块中而不将它们放在一个类中时,就会出现问题.这是一个例子:

module Familiar
  #this will not work
    def ask_age
      return "How old are you?"
    end
  #this will work
    def Familiar::greeting
      return "What's up?"
    end
end
# this call returns **NoMethodError** 
puts(Familiar::ask_age()) 
# this call works fine
puts(Familiar::greeting()) 
Run Code Online (Sandbox Code Playgroud)

为什么我需要包含命名空间来定义方法,我已经在命名空间内熟悉为什么我必须重复我的自我并把Familiar :: greeting 你可以在这个链接后在线测试我的例子:http:// codepad .ORG/VUgCVPXN

ruby methods module ruby-on-rails

14
推荐指数
1
解决办法
6866
查看次数

为什么laravel blade @yield添加一个新行(换行符)

我使用的是blade templatinglaravel 4.2

我对使用该@yield功能的功能有一点问题@section.

让我们说在我的布局模板中,layout.blade.php我有以下声明:

<meta name="description" content="@yield('description')">
Run Code Online (Sandbox Code Playgroud)

并且在contact.blade.php其中layout.blade.php我有这个:

@section('description')
    this is the contact page
@stop
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

<meta name="description" content="this is the contact page
">
Run Code Online (Sandbox Code Playgroud)

问题是line break在部分渲染结束时自动添加.

你知道如何避免这种不必要的行为吗?

php template-engine laravel blade

8
推荐指数
3
解决办法
3401
查看次数

Node.js读取zip文件而不解压缩

我有一个zip文件(实际上它是一个epub文件)我需要遍历其中的文件并读取它们而不将它们解压缩到磁盘.

我尝试使用一个调用的Node.js库,JSZip但是每个文件的内容都存储在Buffer的内存中,每当我尝试将缓冲区内容解码为字符串时,返回的内容都是不可读的

这是我试过的代码:

const zip = new JSZip();
  // read a zip file
    fs.readFile(epubFile, function (err, data) {
        if (err) throw err;
        zip.loadAsync(data).then(function (zip) {
            async.eachOf(zip.files, function (content, fileName, callback) {
                if (fileName.match(/json/)) {
                    var buf = content._data.compressedContent;
                    console.log(fileName);
                    console.log((new Buffer(buf)).toString('utf-8'));
                }
                callback();
            }, function (err) {
                if (err) {
                    console.log(err);
                }
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)

javascript zip node.js

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

类型参数在泛型对象实例化的构造函数中是否有用?

我知道自Java 7以来,在实例化过程中在构造函数中重复泛型类的类型是一种冗余.但是钻石操作员<>怎么样,重复它呢?换句话说,我想知道这有什么区别:

List<String> Fruits = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

还有这个

List<String> Fruits = new ArrayList(); 
Run Code Online (Sandbox Code Playgroud)

或这个

 Map<Integer, String> students = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

还有这个

 Map<Integer, String> students = new HashMap();
Run Code Online (Sandbox Code Playgroud)

先感谢您

java generics instantiation diamond-operator

3
推荐指数
1
解决办法
476
查看次数

使用Symfony清除POST和GET变量

我正在使用Silex,它正在使用RequestSymfony 的组件.当我从表单中获取数据时,例如这样:

$params = $request->request->all();
Run Code Online (Sandbox Code Playgroud)

没有东西被清理干净.与Laravel不同,用户输入数据会自动清理.我应该手动完成,使用内置的PHP函数,strip_tag或者有一种symfony方法.

php security input request symfony

3
推荐指数
1
解决办法
2631
查看次数

推进不将单引号添加到MySql查询中的字段名称

我有以下mysql表:

CREATE TABLE `content_segments`
(
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `include` TINYINT(1) NOT NULL,
    `dimension` VARCHAR(50) NOT NULL,
    `media_type` VARCHAR(50) NOT NULL,
    `match` VARCHAR(50) NOT NULL,
    `content` TEXT NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

问题是在MySQL中match字段是保留字,并且propel2不在字段名旁用单引号引起来,以在运行时(生成查询时)转义保留字。我想知道是否存在为什么要强制用单引号将所有表字段转义,以避免保留字错误。我得到的错误是这样的:

Unable to execute SELECT statement [SELECT id, include, dimension, media_type, match, content FROM content_segments WHERE id = :p0]
Run Code Online (Sandbox Code Playgroud)

php mysql database orm propel

2
推荐指数
1
解决办法
619
查看次数

推进从表中选择一列

我正在使用Propel 2,我希望能够在给定的表中选择一列的值,等效的原始SQL查询如下所示:

select author_id from book_authors WHERE book_id = 111;
Run Code Online (Sandbox Code Playgroud)

如果我写

BookAuthorsQuery::create()->findByAuthorId(111);
Run Code Online (Sandbox Code Playgroud)

我将得到一个包含该表所有字段的数组对象,但我只是一个包含所选列的值的数组.

mysql database orm propel

2
推荐指数
1
解决办法
4276
查看次数

遍历在 nodeJs 中具有嵌套对象的对象

我有一个带有多个嵌套对象的 javascript 对象,如下所示:

 var stats = {
     bookServed: {
         redis: 90,
         s3: 90,
         signedUrl: 70
     },
     errors: {
         redis: {
             bookService: 70,
             mapi: 50,
             capi: 30
         },
         AWS: {
             signedUrl: 70,
             downloadBook: 50,
             searchBook: 10
         },
         decryption: 60
     }
 };
Run Code Online (Sandbox Code Playgroud)

例如,遍历其所有属性并将每个值设置为最简洁的方法是什么0。我写了这样的东西

 for (var property in stats) {
     if (stats.hasOwnProperty(property)) {
         if (typeof property === "object") {
             for (var sub_property in property)
                 if (property.hasOwnProperty(sub_property)) {
                     sub_property = 0
                 }
         } else {
             property = 0;
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

我愿意使用像 …

javascript object node.js underscore.js

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

如何预先添加到StringBuilder?

VB.NET有一个方法,就像java一样,附加到StringBuilder类型的对象 但是我可以在这个对象之前添加(我的意思是在stringbuilder值之前添加一些字符串,而不是之后).这是我的代码:

'Declare an array
    Dim IntegerList() = {24, 12, 34, 42}
    Dim ArrayBefore As New StringBuilder()
    Dim ArrayAfterRedim As New StringBuilder()
    ArrayBefore.Append("{")
    For i As Integer = IntegerList.GetLowerBound(0) To IntegerList.GetUpperBound(0)
        ArrayBefore.Append(IntegerList(i) & ", ")
    Next
    ' Close the string
    ArrayBefore.Append("}")
    'Redimension the array (increasing the size by one to five elements)
    'ReDim IntegerList(4)

    'Redimension the array and preserve its contents
    ReDim Preserve IntegerList(4)

    ' print the new redimesioned array
    ArrayAfterRedim.Append("{")
    For i As Integer = IntegerList.GetLowerBound(0) To …
Run Code Online (Sandbox Code Playgroud)

vb.net string stringbuilder prepend

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