我正在尝试使用dompdf将PHP页面转换为PDF,但我不确定最好的方法.我已经在页面上写了我希望它如何以标准HTML/PHP呈现,并希望它像这样显示,就像PDF一样:

我的PHP代码如下.我相信我需要将我的代码放入$html变量中以解析为dompdf,但我有点像一个PHP新手,所以会很感激一些帮助,知道实现这一目标的最佳方法是什么.显然,页面的样式都是从外部CSS文件引入的,所以我不确定这是不是一个问题?
<?php
include("checklog.php");
require_once("watchlist-controller.php");
require_once("dompdf/dompdf_config.inc.php");
$html =
?>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="img/fav.ico">
<link rel="apple-touch-icon" href="img/apple-touch-icon.png">
<title>Screening - Your ticket to your movies - <?php echo $watchlist_name; ?></title>
<meta name="description" content="Screening is a brand new take on the traditional movie database, fusing social networking and multimedia to provide a clear, concise experience allowing you to share your favourite movies, and discover new classics.">
<meta name="keywords" content="Movies, Films, Screening, Discover, Watch, Share, …Run Code Online (Sandbox Code Playgroud) 在java 8之前,内部类只有在声明为final时才能访问外部对象.但是现在当我在javaSE 1.8上运行示例代码(从下面)时,没有编译错误,程序运行正常.
他们为什么要改变这一点以及它现在如何运作?
来自java 7教程的示例代码:
public class MOuter {
private int m = (int) (Math.random() * 100);
public static void main(String[] args) {
MOuter that = new MOuter();
that.go((int) (Math.random() * 100), (int) (Math.random() * 100));
}
public void go(int x, final int y){
int a = x + y;
final int b = x - y;
class MInner{
public void method(){
System.out.println("m is "+m);
System.out.println("x is "+x); // supposedly illegal - 'x' not final
System.out.println("y is: "+y);
System.out.println("a …Run Code Online (Sandbox Code Playgroud) PHP 有没有办法找出远程服务器的 Linux 发行版名称?
提取的$_SERVER['HTTP_USER_AGENT']只是客户端计算机的操作系统名称。这不是我想要的。我尝试过php_uname()
echo 'Operating System: '.php_uname('s').'<br>'; // echo PHP_OS;
echo 'Release Name: '.php_uname('r').'<br>';
echo 'Version: '.php_uname('v').'<br>';
echo 'Machine Type: '.php_uname('m').'<br>';
Run Code Online (Sandbox Code Playgroud)
但该模式s仅返回内核类型 - Linux。
Operating System: Linux
Release Name: 2.6.32-431.29.2.el6.x86_64
Version: #1 SMP Tue Sep 9 21:36:05 UTC 2014
Machine Type: x86_64
Run Code Online (Sandbox Code Playgroud)
我想知道是Fedora、CentOS还是Ubuntu等,可以吗?我也尝试过posix_uname(),但出现错误。
致命错误:调用未定义的函数 posix_uname()
我想要实现的是以下内容:我的应用程序中的某些服务带有特殊的注释。稍后,在构建过程中,一个特殊的命令应该会找到所有带有该注释的文件。
我的方法是首先加载所有包:
$container = $this->getContainer();
foreach ($container->getParameter('kernel.bundles') as $alias => $namespace)
$bundle = $container->get('kernel')->getBundle($alias);
Run Code Online (Sandbox Code Playgroud)
我被困在这一点上。如何让$bundle实例告诉我它的服务?
注意:我也很高兴有一个不是特定于包的解决方案,即加载所有可用服务定义的解决方案。在ContainerBuilder得到了一个getDefinitions看起来前途无量,但我不知道如何从一个命令来访问它。
我需要获取一个包含服务 ID 及其类的列表——尤其是类,因为这些是我需要加载到注释阅读器中的。
显然,我不想解析services.yml自己,而且我也想避免从$container->getServiceIds().
(顺便说一句,标记的服务无济于事;我需要注释。我想自动检测带注释的服务,因为标记它们需要额外的步骤,这是不必要的并且容易出错。)
使用Symfony和Doctrine,我正在编写一个组件,在部署应用程序期间使用任意实体的条目填充数据库.
我想使这个组件通用,所以我试图自动解决实体之间的依赖关系并以正确的顺序插入它们.
我目前通过实体元数据递归地获取每个单个实体的依赖关系:
public function getEntityDeps($eName)
{
$deps = [];
foreach ($this->entityManager->getClassMetadata($eName)->getAssociationMappings() as $mapping)
{
$deps[] = $mapping['targetEntity'];
$deps = array_merge($deps, $this->getEntityDeps($mapping['targetEntity']));
}
return $deps;
}
Run Code Online (Sandbox Code Playgroud)
结果显然是以下类型的列表:
// NOTE: The real list of course contains class names instead of entity aliases.
[
"FooBundle:EntityA" => [],
"FooBundle:EntityB" => ["FooBundle:EntityA", "FooBundle:EntityC"],
"FooBundle:EntityC" => ["FooBundle:EntityA"],
"BarBundle:EntityA" => ["BarBundle:EntityB"],
"BarBundle:EntityB" => []
]
Run Code Online (Sandbox Code Playgroud)
我想下一步是将某种拓扑排序应用到列表中.
但是,我不确定我是否可以在这里使用通用算法,或者我忘记了什么.特别是因为实体不一定是相关的(事实上,我们可能有多个依赖图).
另外,我希望有一些内部的Doctrine功能可以为我做排序.
那么对任意一组Doctrine实体进行排序的最可靠方法是什么?是否有一些可重用的Doctrine功能?
我用 StencilJS 编写了一个 Web 组件。
开槽元素仅应在特定情况下呈现。所以有一个可选元素。
<div>
<slot name="title"/>
{this.active && (<slot name="content"/>)}
</div>
Run Code Online (Sandbox Code Playgroud)
Web组件的调用如下:
<my-test>
<div slot="title">This is a test</div>
<div slot="content">123</div>
</my-test>
Run Code Online (Sandbox Code Playgroud)
这在 Microsoft Edge 和 IE11 中不起作用。对于 Chrome 和 Firefox 来说一切都很好。
我知道插槽不受支持:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot#Browser_compatibility
但显然 stenciljs 中有一些填充。
有关于该主题的经验吗?
html internet-explorer web-component microsoft-edge stenciljs
我们知道PHP不接受与父代签名不同的子代方法。我认为这是同与构造函数:PHP文档的状态是
这也适用于PHP 5.4以上的构造函数。5.4之前的构造函数签名可能有所不同。
但是,似乎继承的构造函数在PHP版本> 5.4中仍然可以有所不同。例如,以下代码不会触发任何警告或通知:
class Something { }
class SomeOtherThing { }
class Foo
{
public function __construct(Something $foo)
{
}
public function yay()
{
echo 'yay';
}
}
class Bar extends Foo
{
public function __construct($foo, SomeOtherThing $bar = null)
{
}
}
$x = new Bar(new Something());
$x->yay();
Run Code Online (Sandbox Code Playgroud)
根据文档,由于构造函数签名不同,因此代码应触发错误。
在PHP 5.6.4上进行了尝试。与其他版本相同的效果。
那么,那是怎么回事?尽管文档中有说明,但不同的构造方法签名仍然合法吗?还是这将在以后的版本中修复?
我对我的学说实体做了一些更改,需要更新数据库并得到以下错误.
$ php bin/console doctrine:schema:update -vvv
[Doctrine\DBAL\Schema\SchemaException (30)]
There is no column with name 'fleet_no' on table 'fuelData'.
Exception trace:
() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php:86
Doctrine\DBAL\Schema\SchemaException::columnDoesNotExist() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php:671
Doctrine\DBAL\Schema\Table->getColumn() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php:711
Doctrine\DBAL\Platforms\MySqlPlatform->getPreAlterTableAlterPrimaryKeySQL() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php:639
Doctrine\DBAL\Platforms\MySqlPlatform->getPreAlterTableIndexForeignKeySQL() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php:621
Doctrine\DBAL\Platforms\MySqlPlatform->getAlterTableSQL() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php:199
Doctrine\DBAL\Schema\SchemaDiff->_toSql() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php:126
Doctrine\DBAL\Schema\SchemaDiff->toSaveSql() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/SchemaTool.php:883
Doctrine\ORM\Tools\SchemaTool->getUpdateSchemaSql() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Console/Command/SchemaTool/UpdateCommand.php:115
Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand->executeSchemaCommand() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Console/Command/SchemaTool/AbstractCommand.php:65
Doctrine\ORM\Tools\Console\Command\SchemaTool\AbstractCommand->execute() at /home/sarah/workspace/telematics_tracker/vendor/doctrine/doctrine-bundle/Command/Proxy/UpdateSchemaDoctrineCommand.php:50
Doctrine\Bundle\DoctrineBundle\Command\Proxy\UpdateSchemaDoctrineCommand->execute() at /home/sarah/workspace/telematics_tracker/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:261
Symfony\Component\Console\Command\Command->run() at /home/sarah/workspace/telematics_tracker/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:839
Symfony\Component\Console\Application->doRunCommand() at /home/sarah/workspace/telematics_tracker/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:185
Symfony\Component\Console\Application->doRun() at /home/sarah/workspace/telematics_tracker/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:80
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/sarah/workspace/telematics_tracker/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:116
Symfony\Component\Console\Application->run() at /home/sarah/workspace/telematics_tracker/bin/console:27
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为我有一个名为'fleetNo'的列,但在'fuelData'表中没有一个名为'fleet_no'的列.这不是我做出的改变之一.我在项目目录中搜索了'fleet_no'的任何其他实例,但没有任何实例.
以下是fuelData实体的副本.
<?php
// src/AppBundle/Entity/FuelData.php
namespace AppBundle\Entity;
use Symfony\Component\Validator\Constraints …Run Code Online (Sandbox Code Playgroud) 我使用位来表示一天发生的事件.例如,如果我存储4天的信息,我可以使用1011(从右到左凝视)将在第1,2天指示,并且发生4个事件(第1,2和4位设置).
我正在使用Long存储位的类型(在此示例中将存储数字11).现在Long我可以存储63天的事件(长最大尺寸是2 ^ 64 -1).
仅供参考:我稍后在我的一系列事件中选择一个,然后将其与另一组进行比较,以查看同一天发生了多少事件(我使用Long的bitcount方法来执行此操作).例如,1011 AND 1000 = 1事件发生在这两组中的同一天.
我面临的问题是:我现在需要存储超过63天的数据.我现在需要大约180天.我正面临着我的两个解决方案的性能问题,并且想知道是否有更有效的方法来实质上存储"180位"整数.
我的第一个解决方案是使用BigInteger,但这在运行时非常慢.我的另一个解决方案是将180位分解为3 Long秒,然后相应地进行比较,但显然这会产生3倍的工作量.
我到处找。我的具体问题没有答案!我有 Ubuntu,我想在 Python 3 上使用 pygame。我安装了这个pygame包
sudo apt-get python-pygame
Run Code Online (Sandbox Code Playgroud)
但是当我输入时它不起作用
import pygame
Run Code Online (Sandbox Code Playgroud)
请帮忙!
php ×6
symfony ×3
doctrine-orm ×2
java ×2
java-8 ×2
constructor ×1
doctrine ×1
dompdf ×1
html ×1
linux ×1
linux-distro ×1
mpdf ×1
mysql ×1
oop ×1
pdf ×1
performance ×1
pygame ×1
python ×1
python-3.x ×1
sorting ×1
stenciljs ×1
ubuntu ×1