小编Ale*_*ldi的帖子

Laravel:验证需要大于另一个的整数字段

我有两个字段只有在两个字段都不存在时才是可选的:

$rules = [
  'initial_page' => 'required_with:end_page|integer|min:1|digits_between: 1,5',
  'end_page' => 'required_with:initial_page|integer|min:2|digits_between:1,5'
]; 
Run Code Online (Sandbox Code Playgroud)

现在,end_page需要大于initial_page.如何包含此过滤器?

php laravel laravel-5

34
推荐指数
6
解决办法
7万
查看次数

为什么isset()比'==='更有效率?

总结一下,我用几次迭代做了一个循环来检查每个测试的效率:

$iterations = 99999999;
$var = null;
Run Code Online (Sandbox Code Playgroud)

是比较

  if ( isset( $var ) )
  {

  }
Run Code Online (Sandbox Code Playgroud)

'==='比较

  if ( $var === null )
  {

  }
Run Code Online (Sandbox Code Playgroud)

我有这个日志,在几微秒内:

'isset()': 1.4792940616608
'===': 1.9428749084473
Run Code Online (Sandbox Code Playgroud)

对我来说,这有点好奇.为什么isset()函数比一个比较运算符更快===

php

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

如何在Material Components Web(MDC)中集中单元格?

我希望有一个集中的网格单元格,例如桌面上有6列.在文档中,它说:

默认情况下,网格对齐.您可以添加mdc-layout-grid-align-left或mdc-layout-grid-align-right修饰符类来更改此行为.

然后我输入:

<div class="mdc-layout-grid">
  <div class="mdc-layout-grid__inner">
    <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-3-desktop">first</div>
    <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-3-desktop">second</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在桌面上期待:

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|----|----|----|
| ~ | ~ | ~ |   first   |  second   | ~  |  ~ | ~  |
Run Code Online (Sandbox Code Playgroud)

而不是真正的输出:

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 …
Run Code Online (Sandbox Code Playgroud)

css material-components material-components-web

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

React Native - 函数组件上的 useRef 警告

我有一个简单的函数组件,需要使用输入引用来设置正确的提交焦点:

import React, { useRef } from 'react'
import { View, TextInput } from 'react-native'

export default function Login() {
  let usernameRef = useRef(null)
  let passwordRef = useRef(null)

  return (
    <View>
      <TextInput ref={usernameRef} />
      <TextInput ref={passwordRef} />
    </View>
  )
}
Run Code Online (Sandbox Code Playgroud)

问题是在新的 Hooks API 中使用 ref 仍然会发出警告:

警告:不能为函数组件提供引用。尝试访问此引用将失败。你的意思是使用 React.forwardRef() 吗?

我不想使用类。尝试使用“forwardRef”并且警告仍然存在:

import React, { createRef, forwardRef } from 'react'
import { View, TextInput } from 'react-native'

export default function Login() {
  let usernameRef = createRef()
  let passwordRef = createRef()
  const Input …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-hooks

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

为什么 Document.querySelector 比 Element.querySelector 更有效

我做了一个很少迭代的测试来测试Document.querySelector和 的效率Element.querySelector

标记:

<form>
  <input type="text" />
</form>
Run Code Online (Sandbox Code Playgroud)

脚本:

查询 Document.querySelector

begin = performance.now();

var 
  i = 0,
  iterations = 999999;

for ( i; i < iterations; i++ ) 
{
 element = document.querySelector('[type="text"]');
}

end = performance.now();

firstResult = end - begin;
Run Code Online (Sandbox Code Playgroud)

查询 Element.querySelector

begin = performance.now();

var 
  i = 0,
  iterations = 999999,
  form = document.querySelector('form');

for ( i; i < iterations; i++ ) 
{
 element = form.querySelector('[type="text"]');
}

end = performance.now();

secondResult = end …
Run Code Online (Sandbox Code Playgroud)

javascript performance selector microbenchmark

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

如何使用普通的javascript来防止输入字段中的空格

我有一个用户名输入字段,并试图阻止用户用空格填充它们.

<input type="text" name="username" />
Run Code Online (Sandbox Code Playgroud)

我这样做,空格不被阻止

var
  field = document.querySelector('[name="username"]');

field.addEventListener('keypress', function ( event ) {  
   var 
     key = event.keyCode;

   return (key !== 32);
});
Run Code Online (Sandbox Code Playgroud)

javascript

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

Laravel:如何在自定义目录中生成播种机

我将 Laravel 5.5 与laravel-modules v2 一起使用。

在自定义目录中(特别是在模块内)生成迁移很容易:

php artisan make:migration create_users_table --path=Modules/User/Database/Migrations
Run Code Online (Sandbox Code Playgroud)

但似乎这对于播种课程是不可能的:

php artisan make:seeder UsersTableSeeder --path=Modules/User/Database/
Run Code Online (Sandbox Code Playgroud)

“--path”选项不存在。

或传递完整的相对路径:

php artisan make:seeder Modules/User/Database/Migrations/UsersTableSeeder
Run Code Online (Sandbox Code Playgroud)

./database/seeds/ 中创建这个完全相同的文件夹结构

或传递完整的绝对路径:

php artisan make:seeder /Modules/User/Database/Migrations/UsersTableSeeder
Run Code Online (Sandbox Code Playgroud)

file_put_contents(\my\file\system\project\database/seeds/C:/Program Files/Git /Modules/User/Database/Seeders/UsersTableSeeder.php):无法打开流:没有这样的文件或目录

如何在自定义目录中使用 artisan 命令生成播种机?

php laravel laravel-artisan

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

Laravel - 将控制台输出写入日志文件

我有一个输出一些行的命令:

/**
  * Execute the console command.
  *
  * @return mixed
  */
public function handle()
{
    $this->line('');
    $this->info('--------------------------------------------------------');
    $this->info('----------------- Compress documents -------------------');
    $this->info('--------------------------------------------------------');
    $this->line('');
    $progressBar = $this->output->createProgressBar(3);
    $this->info('Selecting files...');
    // ...
    $progressBar->advance();
    $this->info('Processing...');
    // ...
    $progressBar->advance();
    $this->info('Moving files...');
    // ...
    $progressBar->advance();
    $this->info('--------------------------------------------------------');
    $this->info('------------------------ Result ------------------------');
    $this->info('--------------------------------------------------------');
    // ...
    $this->info('Output quality: '.$resolution.'%');
    $this->info('Processed files: '.sizeof($files));
    $this->info('Original size: '.number_format($originalPathSize, 3).'MB');
    $this->info('Compressed size:'.number_format($compressedPathSize, 3).'MB');
    $this->info('Improvement: '.number_format($compressedPathSizeDiff, 3).'MB ('.number_format($compressedPathSizeDiffPercent, 3).'%)');
    $this->info('Total time: '.$timeFormatted);
    // ...
    $this->table($headers, $rows);
    $this->info('Ready!');
}
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力。

问题是,现在我需要在生产服务器中运行此命令(通过 SSH),并且必须花费几个小时才能处理所有文件。显然我不想在此期间保持登录状态来查看控制台输出。

正如调度任务一样,有某种方法可以将控制台命令输出“自动”写入日志文件吗?

php laravel

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

如何在不丢失扩展和用户设置的情况下重新安装VSCode

更新到1.9.0后,编辑器的某些功能在这里停止工作.我尝试使用--disable-extensions选项运行,问题仍然存在.

现在我想重新安装以检查安装是否已损坏但我不想丢失我的首选项.

如何重新安装VSCode以保留我的扩展和用户设置?

visual-studio-code

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

如何在 Laravel 中使用数据库事务

我正在使用 OctoberCMS,我的规则位于模型类上。当发生规则验证错误时,它们会抛出新的ModelException

试:

DB::beginTransaction();
try 
{
  $model = new Model;
  $model->name = $name;
  $model->save();
 
  $another = new Another;
  $another->id = $model->id;
  $another->value = $value;
  $another->save();
  // all right
  DB::commit();
}
catch( ModelException $e ) 
{
  // some rules exception with one of these models
  DB::rollback();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码保存了$model,如果ModelException在保存时抛出一个错误$another,则$model记录保留在数据库中。

mysql: 5.6.21

表:InnoDB

我的解决方法是:

    $model = new Model;
    $model->name = $name;
    $model->save();
    try 
    {
      $another = new Another;
      $another->id = $model->id;
      $another->value = $value; …
Run Code Online (Sandbox Code Playgroud)

php mysql laravel

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