小编sho*_*ild的帖子

PHP使用语言结构与魔术方法结合使用

这个问题让我对使用语言结构和PHP的魔术方法感到好奇.我创建了一个演示代码:

<?php
class Testing {

    public function scopeList() {
        echo "scopeList";
    }

    public function __call($method, $parameters) {
        if($method == "list") {
            $this->scopeList();
        }
    }

    public static function __callStatic($method, $parameters) {
        $instance = new static;
        call_user_func_array([$instance, $method], $parameters);
    }
}

//Testing::list();
$testing = new Testing();
$testing->list();
Run Code Online (Sandbox Code Playgroud)

为什么Testing::list()抛出语法错误而$testing->list()不是?

由于php保留的关键字都应该失败?

php

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

laravel url validation umlauts

我想在laravel验证网址.我的规则包含

"url" => "required|url"
Run Code Online (Sandbox Code Playgroud)

这很有效.但是当用户使用变音符号提交URL时,规则检查将始终失败.

像öäü等字符在德国域名中有效.Laravel有没有办法在网址中接受这些字符?

php laravel laravel-validation

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

laravel 5 ide自动完成

我想切换到laravel 5,但是在ide - autocompletion方面遇到了一些麻烦.我正在使用phpstorm.在谷歌,答案总是建议使用https://github.com/barryvdh/laravel-ide-helper.但是Laravel 5似乎已经破了.

我正在做的步骤是:

  1. 安装Laravel 5

    composer create-project laravel/laravel 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 需要ide-helper

    composer require barryvdh/laravel-ide-helper
    
    Run Code Online (Sandbox Code Playgroud)
  3. 添加了'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',

    ....
    'Illuminate\Translation\TranslationServiceProvider',
    'Illuminate\Validation\ValidationServiceProvider',
    'Illuminate\View\ViewServiceProvider',
    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
    
    Run Code Online (Sandbox Code Playgroud)
  4. 试图生成帮助文件

    artisan ide-helper:generate
    
    Run Code Online (Sandbox Code Playgroud)

但它总是打破以下错误:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501

0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper')
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console

\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...')
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu
t\ConsoleOutput))
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
5 {main}
Run Code Online (Sandbox Code Playgroud)

也许有人有同样的问题,可以帮助我.除了barryvdh的ide-helper之外,我愿意为自动完成提供不同的解决方案.

autocomplete phpstorm laravel-5

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

Laravel 5 Route Model Binding无法在服务器上运行

我有Laravel 5路径模型绑定的问题我使用以下控制器方法

public function destroy(PrimaryLocation $primaryLocation) {
    dd($primaryLocation->id);
    $primaryLocation->delete();
    return redirect()->back()->with('locationDeleted', true);
}
Run Code Online (Sandbox Code Playgroud)

其中PrimaryLocation是一个雄辩的模型

我的RouteServiceProvider的启动功能:

public function boot(Router $router)
{
    parent::boot($router);

    $router->model('user', 'App\User');
    $router->model('PrimaryLocation', 'App\PrimaryLocation');
}
Run Code Online (Sandbox Code Playgroud)

在我的routes.php中

Route::delete('deletePrimaryLocation/{PrimaryLocation}',
              ['as' => 'admin.deletePrimaryLocation', 'uses' => 'LocationsController@destroy']);
Run Code Online (Sandbox Code Playgroud)

此设置在我的本地计算机上运行正常,但是当我将文件部署到我的开发服务器时,模型绑定会破坏; 执行该方法时,不会删除该位置.

我做了一些var_dumps

dd($primaryLocation->id); 
Run Code Online (Sandbox Code Playgroud)

在本地计算机上,它返回正确的id,但在服务器上它将返回null;

但是,如果我做了

dd($primaryLocation)
Run Code Online (Sandbox Code Playgroud)

结果是在当地

    PrimaryLocation {#178 ?
    #fillable: array:1 [?]
    #connection: null
    #table: null
    #primaryKey: "id"
    #perPage: 15
    +incrementing: true
    +timestamps: true
    #attributes: array:4 [?]
    #original: array:4 [?]
    #relations: []
    #hidden: []
    #visible: []
    #appends: []
    #guarded: array:1 [?]
    #dates: []
    #casts: …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5

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

CKEditor5 在不破坏当前元素的情况下插入文本

我有以下代码在当前位置插入文本:

editor.model.change( writer => {
                    editor.model.insertContent( writer.createText('[Insert]') );
                });
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都可以正常工作,例如插入段落或标题中。给出的例子:

前:

<h2>Sample</h2>
Run Code Online (Sandbox Code Playgroud)

插入后:

<h2>Samp[Insert]le</h2>
Run Code Online (Sandbox Code Playgroud)



但是如果文本是预先格式化的,例如使用自定义字体大小,它会破坏 html 元素:

前:

<p><span class="text-huge">Sample formatted text</span></p>
Run Code Online (Sandbox Code Playgroud)

插入后:

<p><span class="text-huge">Sample fo</span>[Insert]<span class="text-huge">rmatted text</span></p>
Run Code Online (Sandbox Code Playgroud)

请注意,元素被拆分并插入文本而不应用自定义样式。[插入] 设置在两个跨度之间...

如何在不修改html结构的情况下直接插入文本?

ckeditor5

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

如何访问Foreach内的对象?

我的数组看起来像这样:

Array
(
[id] => 196011470503479_873596956078257
[message] => #Dabur India Ltd has been ranked amongst India's Super 50 Companies by Forbes India. The annual list ranks companies that generate high returns for investors, grow their Revenues strongly and deploy funds efficiently.
[created_time] => DateTime Object
    (
        [date] => 2016-07-29 04:00:01.000000
        [timezone_type] => 1
        [timezone] => +00:00
    )

[shares] => Array
    (
        [count] => 26
    )
Run Code Online (Sandbox Code Playgroud)

PHP代码

</tbody>
    <?php
        $i = 1;
        foreach($arr['posts'] as $poInd=>$poVal){
            echo "
                <tr>
                    <td>".$i."</td>
                    <td>".$poVal['id']."</td>
                    <td>".$poVal['name']."</td> …
Run Code Online (Sandbox Code Playgroud)

php

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