在 React.js 应用程序上,我尝试使用https://jpuri.github.io/react-draft-wysiwyg/#/docs编辑器上传图像并将其嵌入到编辑器的内容中。
到目前为止,我设法用这段代码做到了这一点:
import React, { Component } from 'react';
import { Editor } from 'react-draft-wysiwyg';
import {convertFromRaw, convertToRaw, EditorState} from 'draft-js';
import "../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css"
import "../../node_modules/draft-js-image-plugin/lib/plugin.css"
export default class CustomEditor extends Component {
uploadCallback(file) {
return new Promise(
(resolve, reject) => {
var reader=new FileReader();
reader.onloadend = function() {
Meteor.call('fileStorage.uploadFile',reader.result,file.name,file.type,(err,response)=>{
console.log(response)
if(err){
reject(err)
}
resolve({ data: { link: response.data.url } });
})
}
reader.readAsDataURL(file);
}
);
}
render() {
const config={
image: { uploadCallback: this.uploadCallback }
} …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
function MyViewModel()
{
var myviewmodel=this;
myviewmodel.ajaxData=ko.observableArray([]);
myviewmodel.init=function()
{
updateInterval(function()
{
myviewmodel.getData();
},6000);
}
myviewmodel.getData=function()
{
myviewmodel.ajaxData([])
$.get('getData.php')
.done(function(data)
{
if(data.status==='ok' && data.data)
{
$.map(data.data,function(f)
{
var last_item=new AjaxItem(f);
myviewmodel.ajaxData.push(last_item);
})
}
})
}
function AjaxItem(data)
{
var item=this;
item.id=parseInt(data.id);
item.name=ko.observable(data.name);
item.surname=ko.observable(data.surname);
item.viewed=ko.observable(true);
setTimeout(function()
{
item.viewed(false);
},600);
}
}
var vm= new MyViewModel();
ko.applyBindings(vm)
vm.init();
Run Code Online (Sandbox Code Playgroud)
我在这个HTML中查看它
<!doctype html>
<html>
<head>
........
<script src="somejs.js"></script>
<style>
.green{
background-color:green;
}
</style>
</head>
<body>
<table>
<tbody data-bind="foreach:ajaxData">
<tr data-bind="css{'green:viewed'}">
<td data-bind="text:name"></td><td data-bind="text:surname"></td>
</tr>
</tbody> …Run Code Online (Sandbox Code Playgroud) 根据Flysystem 的配置,我在 config.yml 中进行了以下设置:
oneup_flysystem:
adapters:
acme.flysystem_adapter:
awss3v3:
client: acme.s3_client
bucket: "%s3_bucket_name%"
prefix: "symfotest_"
Run Code Online (Sandbox Code Playgroud)
我在 services.yml 上提供了以下设置:
acme.s3_client:
class: Aws\S3\S3Client
arguments:
-
version: 'latest' # or 'latest'
region: "%s3_region%" # 'eu-central-1' for example
credentials:
key: "%s3_key%"
secret: "%s3_secret%"
Run Code Online (Sandbox Code Playgroud)
最后我通过 SetEnv 设置了以下环境变量:
SetEnv SYMFONY_S3_BUCKET_NAME symphotest
SetEnv SYMFONY_S3_REGION eu_west_1
SetEnv SYMFONY_S3_KEY akey
SetEnv SYMFONY_S3_SECRET asuperseccret
Run Code Online (Sandbox Code Playgroud)
但我的 error.log 中出现以下错误:
[Wed Jul 06 21:11:56.424801 2016] [:error] [pid 21876] [client 127.0.0.1:60488] PHP 致命错误:未捕获的 Symfony\Component\DependencyInjection\Exception\InvalidArgumentException:没有扩展能够加载“oneup_flysystem”的配置(在 /home/pcmagas/Kwdikas/web/apps/symphotest/app/config/config.yml 中)。查找命名空间“oneup_flysystem”,在 /home/pcmagas/Kwdikas/web/apps/symphotest/vendor 中找到“framework”、“security”、“twig”、“monolog”、“swiftmailer”、“doctrine”、“sensio_framework_extra” /symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:368\n堆栈跟踪:\n#0 /home/pcmagas/Kwdikas/web/apps/symphotest/vendor/symfony/symfony/src/Symfony /Component/DependencyInjection/Loader/YamlFileLoader.php(338): Symfony\Component\DependencyInjection\Loader\YamlFileLoader->validate(Array, '/home/pcmagas/K...')\n#1 …
我开发了一个 Rest API,我希望当路由不存在时发送自定义消息而不是 express.js 默认发送的 html 消息。正如我搜索的那样,我找不到办法做到这一点。
我试图做:
app.all("*",function(req,res){
res.status(404)
res.header("Content Type","application/json")
res.end(JSON.stringify({message:"Route not found"}))
});
Run Code Online (Sandbox Code Playgroud)
但它与所有已经实现的方法相匹配。我只希望我的应用程序处理未加工的那个。
对于每个端点,我创建了一个具有以下内容的单独文件:例如。 myendpoint.js
module.exports=function(express){
var endpoint="/endpoint"
express.get(endpoint,function(req,res){
res.end("Getting data other message")
}).post(endpoint.function(req,res){
res.end("Getting data other message")
}).all(endpoint,function(req,res){
res.status(501)
res.end("You cannot "+res.method+" to "+endpoint)
})
}
Run Code Online (Sandbox Code Playgroud)
我在主文件中使用了一个:
var endpoint=require('myendpoint.js')
var MyEndpointController=endpoint(app)
app.all("*",function(req,res){
res.status(404)
res.header("Content Type","application/json")
res.end(JSON.stringify({message:"Route not found"}))
});
Run Code Online (Sandbox Code Playgroud) 我有以下课程
namespace MyApp;
use MyApp\SomeInterface;
class MyClass
{
public function __construct(SomeInterface $s)
{
//Some Logic here
}
//Another methods implemented There
}
Run Code Online (Sandbox Code Playgroud)
SomeInterface包含以下内容:
namespace MyApp
interface SomeInterface
{
/**
* @return SomeObject
*/
public function someMethodToImpement();
}
Run Code Online (Sandbox Code Playgroud)
我想在我的phpunit测试类上创建一个模拟:
namespace Tests\MyApp;
use PHPUnit\Framework\TestCase;
use MyApp\MyClass;
use MyApp\SomeInterface;
class MyClassTest extends TestCase
{
public function someTest()
{
$fakeClass=new class{
public function myFunction($arg1,$arg2)
{
//Dummy logic to test if called
return $arg1+$arg2;
}
};
$mockInterface=$this->createMock(SomeInterface::class)
->method('someMethodToImpement')
->will($this->returnValue($fakeClass));
$myActualObject=new MyClass($mockInterface);
}
}
Run Code Online (Sandbox Code Playgroud)
但是一旦我运行它,我得到错误:
Tests …
我有以下内容Dockerfile:
FROM php:7-cli-alpine3.9
ARG USERID=1000
ARG GROUPID=1000
RUN apk add --no-cache --update bash bash-completion bash-doc &&\
addgroup -g ${GROUPID} developer &&\
mkdir -p /home/developer/code &&\
adduser -D -u ${USERID} -G developer -h /home/developer -s /bin/bash developer &&\
chown developer:developer -R /home/developer/code &&\
php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');"&&\
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" &&\
php /tmp/composer-setup.php --install-dir=bin --filename=composer &&\
php -r "unlink('composer-setup.php');" &&\
chmod …Run Code Online (Sandbox Code Playgroud) 有时在测试过程中,我需要能够了解如何使用artisan tinker命令配置我的 laravel 应用程序。
问题是我不知道要输入什么才能做到这一点。在许多情况下,这对我很有用,因为我可以快速查看如何在不同的环境设置上配置数据库。
我正在将我的应用程序从 Codeigniter 迁移到 Laravel,我们也正在进行迭代和单元测试。
该数据库由2个数据库组成:
old这是最初的 codeigniter 中使用的。new这用于与 codeingiter 项目不相关的其他功能。因此,我想制作一个用于old数据库的迁移脚本,但为了避免故障,我想为每个数据库的迁移脚本指定一个特定的文件夹。
因此我找到了这个工具: https: //github.com/Xethron/migrations-generator并通过此帮助输出:
Description:
Generate a migration from an existing table structure.
Usage:
migrate:generate [options] [--] [<tables>]
Arguments:
tables A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments
Options:
-c, --connection[=CONNECTION] The database connection to use. [default: "etable_api"]
-t, --tables[=TABLES] A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments
-i, --ignore[=IGNORE] …Run Code Online (Sandbox Code Playgroud) 通常根据文档为了构建 docker 镜像,我需要遵循以下步骤:
Dockerfile为我的应用程序创建一个。
运行docker build . Dockerfile到哪里。是我的应用程序的上下文
使用docker run将我的图像运行到容器中。
将我的图像提交到容器中
然后使用docker push将图像推送到容器中。
尽管有时将图像启动到容器中似乎是浪费时间,因为我可以使用命令-t中的参数来标记我的图像docker build。因此无需将容器作为映像提交。
那么,是否需要将正在运行的容器作为镜像提交呢?
对于这个 composer包,我需要将 xmlreader 放入我的自定义 docker php 映像中:
FROM php:7.2-fpm-alpine
RUN apk add --update libzip-dev libmcrypt-dev libpng-dev libjpeg-turbo-dev libxml2-dev icu-dev postgresql-dev curl-dev libmemcached-dev &&\
apk add --update --virtual build-dependencies build-base gcc wget autoconf &&\
docker-php-ext-install gd && \
docker-php-ext-install zip &&\
docker-php-ext-install dom xml xmlwriter xmlreader &&\
apk del build-dependencies &&\
rm -rf /var/cache/apk/*
Run Code Online (Sandbox Code Playgroud)
但是当我构建它时,我收到以下错误:
/usr/src/php/ext/xmlreader/php_xmlreader.c:32:10: fatal error: ext/dom/dom_ce.h: No such file or directory
#include "ext/dom/dom_ce.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:194: php_xmlreader.lo] Error 1
Removing intermediate container 0b3f031b2479 …Run Code Online (Sandbox Code Playgroud) php ×5
docker ×3
javascript ×3
laravel ×2
phpunit ×2
ajax ×1
codeigniter ×1
dockerfile ×1
ecmascript-6 ×1
express ×1
flysystem ×1
jquery ×1
knockout.js ×1
laravel-5 ×1
mocking ×1
node.js ×1
reactjs ×1
rest ×1
symfony ×1
uid ×1
windows ×1
xml ×1