小编Ini*_*igo的帖子

Laravel:获取基本网址

简单的问题,但答案似乎很难得到.在Codeigniter中,我可以加载url helper,然后就可以了

echo base_url();
Run Code Online (Sandbox Code Playgroud)

获取我网站的网址.Laravel有同等的东西吗?

php base-url laravel

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

如何编辑Sublime Text 3中的片段?

在Sublime Text 3中,如何编辑预先存在的代码段文件?在ST中有没有办法做到这一点?

在撰写本文时,网上的任何地方似乎都没有直截了当的答案.

sublimetext sublimetext3

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

多个正则表达式替换

我对正则表达式感到困惑我认为当涉及到这些可怕的代码时我会有阅读障碍..无论如何,必须有一种更简单的方法来做到这一点 - (即在一行中列出一组替换实例),任何人?提前致谢.

function clean(string) {
    string = string.replace(/\@~rb~@/g, '').replace(/}/g, '@~rb~@');
    string = string.replace(/\@~lb~@/g, '').replace(/{/g, '@~lb~@');
    string = string.replace(/\@~qu~@/g, '').replace(/\"/g, '@~qu~@');
    string = string.replace(/\@~cn~@/g, '').replace(/\:/g, '@~cn~@');
    string = string.replace(/\@-cm-@/g, '').replace(/\,/g, '@-cm-@');
    return string;
}
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

对于Laravel 5,App :: abort(404)相当于?

Laravel 4我曾经能够简单地打电话

App::abort(404)
Run Code Online (Sandbox Code Playgroud)

有没有等价的Laravel 5

在撰写本文时,似乎有令人惊讶的有限信息.我已经找到了关于如何捕获NotFoundHttpExceptions的讨论,但这不是我想要的,因为我的routes.php文件已经处理了url结构.为了给出更多背景知识,这里是我想要做的简化版本:

routes.php文件:

Route::get('/info/{page}', array('as' => 'info', 'uses' => 'Primary@infoPage'));
Run Code Online (Sandbox Code Playgroud)

Primary.php(控制器)

public function infoPage($page){
    $pageData = DB::table('pages')->where('url_title', $page)->first();
    if(!empty($pageData)){
       // great, there's a corresponding row in the database for this page, go ahead and do stuff...
    }else {
       // This page doesn't exist, please abort with a 404 error... but how?
    }
}
Run Code Online (Sandbox Code Playgroud)

php http-status-code-404 laravel laravel-5

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

无法设置ng-options的选定值

我正在尝试填充下拉选择选项列表,并使用ng-model和ng-options设置默认选定值.

我在视图中有以下代码:

<select ng-model="thisTour.site" ng-options="site.name for site in siteList"></select>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

    $scope.siteList = [
        { id: 1, name: 'cycling'},
        { id: 2, name: 'walking'},
        { id: 3, name: 'holidays'}
    ]

    $scope.thisTour.site = { id: 2, name: 'walking'};
Run Code Online (Sandbox Code Playgroud)

该列表正在填充来自siteList对象的正确3个选项,但是默认情况下并不是按照我的预期选择行走?为什么不?

现在,当我改变这个:

$scope.thisTour.site = { id: 2, name: 'walking'};
Run Code Online (Sandbox Code Playgroud)

对此:

$scope.thisTour.site = $scope.siteList[1];
Run Code Online (Sandbox Code Playgroud)

现在它有效.为什么?这不是一回事吗?

angularjs angularjs-ng-options

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

Laravel 4在提供计数变量时从foreach循环中添加数字?

我将数组$ cats传递给我的laravel模板视图.它是来自数据库事务的多维数组,包含类别数据.所以它将包含如下数据:

$cat[0]['id'] = 1;
$cat[0]['name'] = 'First Category';
Run Code Online (Sandbox Code Playgroud)

等等.在我的刀片模板中,我有以下代码:

            {{ $i=0 }}
            @foreach($cats as $cat)

                    {{ $cat['name'] }}<br />

                {{ $i++ }}

            @endforeach
Run Code Online (Sandbox Code Playgroud)

哪个输出:

0 First Category
1 Second Category
2 Third Category
Run Code Online (Sandbox Code Playgroud)

注意类别名称前面的数字.他们来自哪里?这是一些聪明的Laravel技巧吗?似乎当您包含计数器变量时,它们会自动添加.我在任何地方都找不到它,我不想要它们!我怎么摆脱他们?

谢谢.

laravel-4

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

Laravel Dusk,如何破坏测试之间的会话数据

我开始使用Laravel Dusk进行浏览器测试,并创建了几个测试来测试我的登录表单.我有以下代码:

class LoginTest extends DuskTestCase
{

public function testLogin()
{
    $this->browse(function (Browser $browser) {
        $browser->visit('/admin')
            ->type('email', 'inigo@mydomain.co.uk')
            ->type('password', 'MyPass')
            ->press('Login')
            ->assertSee('Loading...');
    });
}

public function testLoginFailure(){
    $this->browse(function (Browser $browser){

        $browser->visit('/admin/logout'); // I have to add this to logout first, otherwise it's already logged in for this test!

        $browser->visit('/admin')
            ->type('email', 'someemail@afakedomain.com')
            ->type('password', 'somefakepasswordthatdoesntwork')
            ->press('Login')
            ->assertSee('These credentials do not match our records.');
    });
}
Run Code Online (Sandbox Code Playgroud)

看评论.第一个函数运行正常,但是当涉及第二个函数时,我必须先注销,因为用户已经因运行第一个函数而登录.这让我感到意外,因为我认为单元测试是完全独立的,会话数据会自动销毁.

有没有更好的方法来做到这一点 - 我可能缺少一些黄昏方法 - 而不是打电话$browser->visit('/admin/logout');

谢谢

编辑感谢目前为止的2个答案,这两个答案似乎都是有效的解决方案.我已将第二个函数更新为以下内容:

public function testLoginFailure(){
    $this->createBrowsersFor(function(Browser $browser){
        $browser->visit('/admin') …
Run Code Online (Sandbox Code Playgroud)

php unit-testing laravel laravel-dusk

13
推荐指数
6
解决办法
4902
查看次数

如果值在两个数字之间

我希望能够测试一个值是否在数字范围内.这是我的jQuery代码......

if ((year < 2099) && (year > 1990)){
    return 'good stuff';
}
Run Code Online (Sandbox Code Playgroud)

在jQuery中有更简单的方法吗?例如,有这样的东西......

if (1990 < year < 2099){
    return 'good stuff';
}
Run Code Online (Sandbox Code Playgroud)

jquery if-statement date-range

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

Laravel 5.4; 如何从Laravel包中运行单元测试?

我正在尝试开发一个Laravel编写器包并从中运行单元测试.在过去几天阅读各种过时且矛盾的指南和博客后,我对如何解决这个问题感到困惑.

这是我目前所知道的:

  • 我不应该从主要的Laravel安装中运行测试.测试应该都包含在包中.我承认这有一定的逻辑.
  • 有一种叫做Orchestra Testbench的东西.如果您正在开发Laravel包,那么显然您应该使用它.
  • 还有一种名为Laravel Dusk的东西,包含在Laravel 5.4中.

我可以让Orchestra Test Bench从给出的示例中进行一些基本测试,但我并不真正理解发生了什么,文档几乎没有解释.在测试我的应用程序的路由时,我无法获得任何工作.

我不明白Orchestra和Dusk是否可以一起玩,或者我必须在它们之间做出选择.如果是这样,我应该使用哪一个?如果它是我应该使用的Laravel Dusk,那么如何在我的包目录中运行它?

phpunit unit-testing laravel-5 laravel-dusk

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

HTML5中的多个<figcaption>在<figure>中

我想知道一个figure元素是否可以包含多个figcaption子元素?

我在某个地方读了一些东西(对不起,现在我找不到了),这似乎表明它无法 - 但我确信它figure可以包含多个img,所以这似乎是不合逻辑的.

如果我有两个相关的图像,我想要单独的标题怎么办?

html5

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