我遇到了一种情况,我必须在生成的PDF打印件中使用页脚和标题.CSS解决方案仅适用于第一页.我发现的唯一信息是WKPDF根本不支持,但这可以追溯到2009年,所以可能会有所改变.
有人成功吗?
谢谢.
我正在尝试使用Vue.js构建一个演示应用程序.我得到的是一个奇怪的错误,Vue没有定义.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue JS Intro</title>
</head>
<body>
<div id="demo">
<p>{{message}}</p>
<input v-model="message">
</div>
<script type="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/vue.min.js"></script>
<script>
var demo = new Vue({
el: '#demo',
data: {
message: 'Hello Vue.js!'
}
})
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我在这里想念的是什么?这不是CDN问题,因为我也从官方网站下载了库,使用它并得到了相同的结果
index.html:15未捕获的ReferenceError:未定义Vue
我正在考虑一个广告网站,用户可以登录,发布新的列表和搜索现有的列表.我将完全遵循DDD原则,这是我的第一个项目.我之前从未在Symfony做过任何DDD.
以下是我对此的看法.你能否告诉我这是否正确,并建议更好的方法?
我可以看到两个域:用户和列表
搜索/显示/发布功能将存在于清单域中.在用户域中登录/注销.
SF3目录的示例结构是
app/
ListingBundle/
src/
Listing.php
SearchService.php
ListingRepositoryInterface.php
Controller/
public/
ListingController.php
protected/
ListingController.php
Resource/
view/
public/
detail.twig.html
protected/
edit.twig.html
UserBundle/
src/
User.php
AuthService.php
UserRepositoryInterface.php
Controller/
public/
UserController.php
protected/
UserController.php
Resource/
view/
public/
login.twig.html
protected/
dashboard.twig.html
PersistenceBundle
src/
UserRepository.php
ListingRepository.php
Run Code Online (Sandbox Code Playgroud)
我的主要问题是:
以下是我的代码摘录
$column_name = "ipAddress";
$qb = EntityManagerContainer::get()->createQueryBuilder();
$qb->select('u')
->from(BlacklistedIps::class, 'u');
if($search_term)
{
$clause = $qb->expr()->like("u.".$column_name, "'%$search_term%'");
$qb->where($clause);
}
$query = $qb->getQuery();
$result = $query->getResult();
Run Code Online (Sandbox Code Playgroud)
它工作得非常好(尽管它对SQL注入是开放的,但这是另一个故事).
我的问题是需要"'%$search_term%'"
.如果没有这组额外的单引号,查询将失败
未捕获的异常'Doctrine\ORM\Query\QueryException',带有消息'SELECT u FROM Orm\Entity\BlacklistedIps u WHERE u.ipAddress LIKE%123%ORDER BY u.reason desc'in***
我并不完全确定我是以正确的方式做到这一点.因为如果我这样做,那么Doctrine2中就会出现一个错误(mssing功能?).当我做
$qb->expr()->like("u.".$column_name, "%$search_term%");
Run Code Online (Sandbox Code Playgroud)
然后我绝对肯定我正在处理一个字符串.当整数或布尔值或浮点数等相互比较时,使用不同的运算符,但绝对不喜欢.LIKE仅在处理字符串时使用,因此在DQL中引用字符串正是唯一可能的 - > like方法用例.
请告诉我,我做错了什么.我一直只使用Doctrine2几天,并对它感到着迷.但是不喜欢字符串没有自动引用给我.
我愿意强制我的类定义一个名为COMMAND的常量.如果php允许从接口覆盖常量看起来像
class RequestInterface
{
const COMMAND = "no-command-specified";
}
class LoginRequest implements RequestInterface
{
const COMMAND = "loginuser";
public $username;
public $password;
}
$request = new LoginRequest();
$request->username = "user";
$request->password = "blah";
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.我正在寻找一种干净的方式来让我的请求定义COMMAND cosntant.
我一直在考虑以下选项:
接口变为抽象类,并定义受保护的变量$ command.它还有一个返回$ this-> command;的getter方法.Children覆盖protected property $命令.我不喜欢将公共VARIABLES(应该是可变的)与受保护的VARIABLE混合的方式,这种VARIABLE实际上不应该是可修改的,因此不应该首先假设它是一个变量.
class LoginRequest extends BaseRequest
{
protected $command = "loginuser";
public $username;
public $password;
}
Run Code Online (Sandbox Code Playgroud)实现这一目标的最简洁方法是什么?
我正在尝试使用 aws cli 来标记 lambda 函数。但是,我不断收到访问决定错误。我什至尝试在 IAM 中授予用户管理员访问权限,但仍然不起作用。我想必须在当前覆盖策略的地方配置其他东西
root@fd9f516869e1:~# aws lambda tag-resource --resource $FUNCTION_ARN --tags CURRENT_COMMIT=${CIRCLE_SHA1}
An error occurred (AccessDeniedException) when calling the TagResource operation: User: <user ARN> is not authorized to perform: lambda:TagResource
Run Code Online (Sandbox Code Playgroud)
附加到用户的策略是
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "<SID>",
"Effect": "Allow",
"Action": [
"tag:*",
"lambda:ListTags",
"lambda:TagResource",
"lambda:UntagResource",
"lambda:GetFunction",
"lambda:UpdateFunctionCode"
],
"Resource": [
"<my lambda ARN>"
]
}
]
}
Run Code Online (Sandbox Code Playgroud) 任何人都可以解释一下这种行为的逻辑吗?
考虑以下情况:
class EPPDomain
{
protected $myField;
public static function buildEPPDomain($fieldValue)
{
$me = new self();
$me->myField = $fieldValue;
return $me;
}
public function __set($name, $value)
{
$this->$name = "prefix_".value;
}
}
class EPPDomainFactory
{
public static function buildEPPDomain($fieldValue)
{
$me = new EPPDomain();
$me->myField = $fieldValue;
return $me;
}
}
Run Code Online (Sandbox Code Playgroud)
所以
$dmn = EPPDomain::buildEPPDomain("myValue");
echo $dmn->myField;
Run Code Online (Sandbox Code Playgroud)
预期
prefix_myValue
Run Code Online (Sandbox Code Playgroud)
实际
myValue
Run Code Online (Sandbox Code Playgroud)
明显,
$dmn = EPPDomainFactory::buildEPPDomain("myValue");
echo $dmn->myField;
Run Code Online (Sandbox Code Playgroud)
按预期输出工作
prefix_myValue
Run Code Online (Sandbox Code Playgroud)
根据http://www.php.net/manual/en/language.oop5.overloading.php#object.set上的__set描述
将数据写入不可访问的属性时运行__set().
当我在EPPDomain类的静态方法中创建EPPDomain的实例时,所有受保护的属性都应该是不可访问的.因此应调用__set,但不是
我知道它也说
属性重载仅适用于对象上下文.这些魔术方法不会在静态上下文中触发.因此,不应将这些方法声明为静态.从PHP 5.3.0开始,如果其中一个魔术重载方法被声明为静态,则会发出警告.
但我有一个表达式,它只是声明__set方法应该是一个类成员函数,不应该是静态的.就是这样,它似乎与我所面临的情况无关.
这是一个错误或预期的行为?
我有一个简单的布局,身体占据了整个高度减去页脚的高度+标题的高度.这是通过flexbox模型实现的(http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/)
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0; /* to avoid scrollbars */
}
#wrapper {
display: flex; /* use the flex model */
min-height: 100%;
flex-direction: column; /* learn more: http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ */
}
#header {
background: yellow;
height: 100px; /* can be variable as well */
}
#body {
flex: 1;
border: 1px solid orange;
height: 100%;
}
#footer {
background: lime; …
Run Code Online (Sandbox Code Playgroud) 我最近在开发具有多个TinyMCE的页面时遇到了问题.
<textarea style='width:90%;height:500px;' class='tinymce' name='message' id="mce_editor_0" placeholder='Long Message'>{if isset($message)}{$message}{/if}</textarea>
<textarea style='width:90%;height:200px;' class='tinymce' name='signature' id="mce_editor_1" placeholder='Long Message'></textarea>
$.ajax({
url: "../action/getEmailTemplate?id="+id+'&type='+type
}).done(function ( data ) {
console.log("../action/getEmailTemplate?id="+id+'&type='+type);
console.log(data);
if(type=='email'){
tinyMCE.execCommand('mce_editor_0', 'mceSetContent', false, data);
}
if(type=='sig'){
tinyMCE.execCommand('mce_editor_1', 'mceSetContent', false, data);
}
});
Run Code Online (Sandbox Code Playgroud)
这不起作用.我是否误解了tinyMCE.execCommand背后的逻辑?
我正在将一个对象转换为数组,之后我无法通过键访问生成的数组.
这是代码
print_r($new);
$new = (array)$new;
echo $new['EPPContactemail'];
foreach($new as $attr=>$value)
{
echo "$attr => $value \n";
}
Run Code Online (Sandbox Code Playgroud)
输出是
EPPContact Object
(
[id:EPPContact:private] => 6553377C74FC9899
[roid:EPPContact:private] => 50085436-UK
[status:EPPContact:private] => ok
[voice:EPPContact:private] => +44.554545454
[email:EPPContact:private] => some@email.com
[fax:EPPContact:private] =>
[clID:EPPContact:private] => TSOHOST
[crID:EPPContact:private] => EPP-TSOHOST
[crDate:EPPContact:private] => 2013-07-17T09:53:41
)
Notice: Undefined index: EPPContactemail in /home/parvhraban/domains/src/local_libs/EPP/Builder/Contact/Update.php on line 9
EPPContactid => 6553377C74FC9899
EPPContactroid => 50085436-UK
EPPContactstatus => ok
EPPContactvoice => +44.554545454
EPPContactemail => some@email.com
EPPContactfax =>
EPPContactclID => TSOHOST
EPPContactcrID => …
Run Code Online (Sandbox Code Playgroud) 我有一行代码
$result = stream_socket_client($target, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT);
Run Code Online (Sandbox Code Playgroud)
如果连接不成功,则会发出警告
WARNING: stream_socket_client(): Failed to enable crypto
Run Code Online (Sandbox Code Playgroud)
我需要压制警告.添加@以使线条看起来
$result = @stream_socket_client($target, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT);
Run Code Online (Sandbox Code Playgroud)
没有帮助.PHP似乎忽略了@
我在这里错过了什么?
php ×6
javascript ×2
arrays ×1
aws-cli ×1
aws-lambda ×1
casting ×1
css ×1
css3 ×1
doctrine-orm ×1
flexbox ×1
google-maps ×1
html ×1
inheritance ×1
interface ×1
jquery ×1
oop ×1
rte ×1
symfony ×1
tinymce ×1
vue.js ×1
wkhtmltopdf ×1