小编Jam*_*rge的帖子

Laravel 5:使用不同的数据库进行测试和本地化

如何更改数据库以便在本地系统上进行开发和测试而不必.env每次都编辑文件?

由于这个原因,我发现练习TDD非常不方便.

是否有可能为一个Laravel应用程序才能正常发育和测试区分,以便它可以选择合适的数据库?

php laravel

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

如何在PHP中上传500MB以上的大文件

我用PHP制作了一个上传页面,但我不知道为什么页面不会上传大于500MB的文件,这是我第一次尝试上传大的东西,我改变了PHP.INI中的所有配置(post_max_size = 700M) ,upload_max_filesize = 600M,max_execution_time = 300).上传代码如下

if(isset($_FILES['upload']) && !empty($_FILES['upload']['name'])){
 move_uploaded_file($_FILES['upload']['tmp_name'], $this->filePath.$this->fileName);
}
Run Code Online (Sandbox Code Playgroud)

我需要帮助,我想知道是否有些事情做得不对..

php

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

Laravel:路径中间件和策略之间的区别

我正在使用laravel开发一个应用程序,我意识到可以完成的任务Policy可以完成Middleware.假设我想阻止用户更新路线,如果他/她不是信息的所有者,我可以轻松地从路线检查并且可以从策略中做同样的事情.

所以我的问题是为什么我应该使用policy中间件,反之亦然

php policy middleware laravel

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

Opencv:从许可证中裁剪文本区域

我有一个单一的驾驶执照的下图,我想提取有关驾驶执照,名称,DOB等的信息.我的思考过程是找到一种逐行分组的方法,并裁剪出包含名称的单个矩形eng和ara的许可证等.但我悲惨地失败了.

在此输入图像描述

import cv2
import os
import numpy as np

scan_dir = os.path.dirname(__file__)
image_dir = os.path.join(scan_dir, '../../images')


class Loader(object):
    def __init__(self, filename, gray=True):
        self.filename = filename
        self.gray = gray
        self.image = None

    def _read(self, filename):
        rgba = cv2.imread(os.path.join(image_dir, filename))

        if rgba is None:
            raise Exception("Image not found")

        if self.gray:
            gray = cv2.cvtColor(rgba, cv2.COLOR_BGR2GRAY)

        return gray, rgba


    def __call__(self):
        return self._read(self.filename)


class ImageScaler(object):

    def __call__(self, gray, rgba, scale_factor = 2):
        img_small_gray = cv2.resize(gray, None, fx=scale_factor, fy=scale_factor, interpolation=cv2.INTER_AREA)
        img_small_rgba = cv2.resize(rgba, None, fx=scale_factor, …
Run Code Online (Sandbox Code Playgroud)

python opencv opencv3.0

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

如何将enum作为字符串存储到rails中的数据库中

如何在ruby中创建一个默认为字符串而不是Integer的迁移,我想将枚举存储到数据库中,但我不想将其存储为Integer,因为这样对另一个应用程序没有意义想要使用同一张桌子.我怎么做default: "female"而不是default:0

class AddSexToUsers < ActiveRecord::Migration
  def change
    add_column :users, :sex, :integer, default: 0
  end
end
class User < ActiveRecord::Base
  enum sex: [:female, :male]
  has_secure_password
end
Run Code Online (Sandbox Code Playgroud)

一世

ruby enums ruby-on-rails

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

Javascript:将AJAX结果保存为类变量

我知道javascript不使用Class,至少不是常识.我想知道如何在类变量中返回并保存AJAX返回值,而不是在回调中调用多个方法.

var Reader = function(){
  //Initialize some variables
  this.data = null;
}

Reader.prototype.makeAjaxCall = function(urlPath){
   //Make and Ajax call and return some value
   Ajax.success(function(data){
     this.data = data;
   });
}

Reader.prototype.searchData = function(param){
   //Needs access to this.data
}
Reader.prototype.findData = function(id){
  //Needs access to this.data
}

Reader.prototype.deleteItem = function(id){
  // Needs access to this.data
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,需要data在内部调用需要访问属性的任何函数ajax success callback,所以如果我有十个需要数据的方法,我将不得不在回调中排列所有这些,我感觉不对.如何最小化回调中的函数数量,并以其他方式确保函数成功并将数据保存为实例变量data.

javascript ajax jquery callback

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

如何测试Laravel社交名流

我有一个使用社交网站的应用程序,我想为Github身份验证创建测试,所以我使用Socialite Facade来模拟对Socialite driver方法的调用,但是当我运行我的测试时它告诉我我正在尝试获取null值类型.

以下是我写的测试

public function testGithubLogin()
{
    Socialite::shouldReceive('driver')
        ->with('github')
        ->once();
    $this->call('GET', '/github/authorize')->isRedirection();
}
Run Code Online (Sandbox Code Playgroud)

以下是测试的实现

public function authorizeProvider($provider)
{
    return Socialite::driver($provider)->redirect();
}
Run Code Online (Sandbox Code Playgroud)

我理解为什么它会返回这样的结果因为Sociallite::driver($provider)返回一个实例Laravel\Socialite\Two\GithubProvider,并且考虑到我无法实例化这个值,就不可能指定一个返回类型.我需要帮助来成功测试控制器.谢谢

php testing laravel mockery

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

静态方法在PHP中不适用于Web服务器

我刚刚在一个网站上工作,PHP并决定将其上传到我的网络服务器,但当我尝试使用静态方法调用运行页面时,我收到此错误Unexpected T_PAAMAYIM_NEKUDOTAYIM.我知道这与双冒号错误有关,但我不明白为什么它在我的本地Web服务器上运行并且拒绝在我的远程Web服务器上工作.

由于这个错误,我不得不通过我的整个站点将所有静态方法转换为实例方法

<?php
class User
{
    private $userId;

    public function __construct()
    {
        if(func_num_args() == 1)
        {
            $this->userId   =   func_get_arg(1);
        }
    }

    public static function userNameExists($name)
    {
        global $dbc;

        if(gettype($name) != "string")
        {
            die("Invalid Function Parameter");
        }

        $sql    =   "SELECT username FROM users WHERE users.username='$name'";
        $result =   mysqli_query($dbc, $sql) or die("Could Not Check Username at This Time: ".mysqli_error($dbc));

        if(mysqli_num_rows($result) > 0)
        {
            return true;
        }
        else
        {

            return false;
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

我打电话的时候:

<?php
   require("users.php");

   if(User::userNameExists($_GET['username'])) …
Run Code Online (Sandbox Code Playgroud)

php oop

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

PHP:超薄框架异常处理

我刚刚用slim框架创建了一个API应用程序,最初,在我的代码中,我使用一个依赖容器来处理抛出的所有异常,代码如下.

//Add container to handle all exceptions/errors, fail safe and return json
$container['errorHandler'] = function ($container) {
    return function ($request, $response, $exception) use ($container) {
        //Format of exception to return
        $data = [
            'message' => $exception->getMessage()
        ];
        return $container->get('response')->withStatus(500)
            ->withHeader('Content-Type', 'application/json')
            ->write(json_encode($data));
    };
};
Run Code Online (Sandbox Code Playgroud)

但我不是一直抛出500 Server Error,而是想添加其他HTTPS响应代码.我想知道我是否可以获得如何解决这个问题的帮助.

public static function decodeToken($token)
{
    $token = trim($token);
    //Check to ensure token is not empty or invalid
    if ($token === '' || $token === null || empty($token)) {
        throw new JWTException('Invalid Token'); …
Run Code Online (Sandbox Code Playgroud)

php error-handling slim

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

将 createObjectURL 生成的 URL 转换为 base64

将函数生成的 URL 转换createObjectURL回 base64 的最佳方法是什么?

 let url = window.URL.createObjectURL(file)
 console.log(url)
Run Code Online (Sandbox Code Playgroud)

上面的代码生成一个像这样的URL

blob:https://s.codepen.io/d3e427c6-9aee-4f07-957c-3c928ff713c2 
Run Code Online (Sandbox Code Playgroud)

我知道将其转换回实际的 blob 或 base64 的唯一方法是使用fetch调用相同的 URL,如下所示

fetch(window.URL.createObjectURL(file))
  .then(res => res.blob())
  .then(blob => console.log(blob)
Run Code Online (Sandbox Code Playgroud)

就我个人而言,我不喜欢上述方法,但我一直未能成功找到替代方法。在那儿 ?

javascript performance javascript-objects

6
推荐指数
0
解决办法
2192
查看次数