小编lxg*_*lxg的帖子

使用dompdf将页面转换为PDF

我正在尝试使用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)

php pdf dompdf mpdf

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

匿名类可以访问java 8中的非最终外部对象吗?

在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)

java java-8

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

在 PHP 中获取 Linux 发行版名称

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()

php linux operating-system linux-distro

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

Symfony:如何获取所有服务及其各自的类

我想要实现的是以下内容:我的应用程序中的某些服务带有特殊的注释。稍后,在构建过程中,一个特殊的命令应该会找到所有带有该注释的文件。

我的方法是首先加载所有包:

$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().

(顺便说一句,标记的服务无济于事;我需要注释。我想自动检测带注释的服务,因为标记它们需要额外的步骤,这是不必要的并且容易出错。)

php dependency-injection symfony

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

Doctrine2:一组实体的依赖关系图

使用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功能?

php sorting symfony doctrine-orm

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

StencilJS:可选的 &lt;slot /&gt; 元素在 IE11/Edge 中不起作用

我用 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 中有一些填充。

铬合金: 在 Chrome 中渲染

IE11: 在 IE11 中呈现

有关于该主题的经验吗?

html internet-explorer web-component microsoft-edge stenciljs

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

PHP&gt; 5.4:使用不同的签名覆盖构造函数

我们知道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 oop constructor

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

doctrine:schema:update error表'$ table'上没有名为'$ column'的列

我对我的学说实体做了一些更改,需要更新数据库并得到以下错误.

$ 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)

php mysql doctrine symfony doctrine-orm

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

存储"180位"(超过64位)整数的有效方法

我使用位来表示一天发生的事件.例如,如果我存储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倍的工作量.

java performance bit-manipulation java-8

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

Ubuntu Python 3 上的 Pygame

我到处找。我的具体问题没有答案!我有 Ubuntu,我想在 Python 3 上使用 pygame。我安装了这个pygame

sudo apt-get python-pygame
Run Code Online (Sandbox Code Playgroud)

但是当我输入时它不起作用

import pygame    
Run Code Online (Sandbox Code Playgroud)

请帮忙!

python ubuntu pygame python-3.x

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