标签: php

如何使用spl_autoload_register?

class Manage
{

spl_autoload_register(function($class) {
    include $class . '.class.php';
});
}
Run Code Online (Sandbox Code Playgroud)

说我有一些像上面这样的代码.我选择使用加载类的匿名函数方法,但这是如何使用的?它究竟是如何确定'$class'要加载的?

php spl-autoload-register

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

从数组php获取第一个非null值

如果我有一个数组:

Array
(
    [0] => 
    [1] => a
    [2] => b
    [3] => c
)
Run Code Online (Sandbox Code Playgroud)

我想从数组中获取第一个非null值,在本例中为"a".我怎么能这么好又轻松呢?

php arrays

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

致命错误:声明..必须与.. PHP兼容

我收到以下错误:

Fatal error: Declaration of Shoppingcart::addToCart() must be compatible with that of Ishoppingcart::addToCart() in klassen.php on line 118
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?我找不到脚本:

<?php
// begin
interface Ishoppingcart{
    public function addToCart();
    public function printOverzicht();
}
abstract class Shoppingcart implements Ishoppingcart
{
    protected $producten = array();

    public function addToCart( Product $product) {
        $this->producten[] = $product;
    }
}
class Myshoppingcart extends Shoppingcart {
    public function printOverzicht(){
        echo ("<table border=1>
        <tr>
        <td colspan='7'>Bestellingoverzicht</td>
        </tr>
        <tr>
        <td bgcolor=#cccccc> Product ID</td>
        <td bgcolor=#cccccc> Beschrijving</td>
        <td bgcolor=#cccccc> Merk</td>
        <td bgcolor=#cccccc> …
Run Code Online (Sandbox Code Playgroud)

php fatal-error

19
推荐指数
3
解决办法
4万
查看次数

更改主键值的getResult数组键

是否可以在Doctrine2中更改getResult()的数组键值?

例:

$qb->select('t.id, t.name')->from('Table', 't');

当我打印这个时,我得到了,这不是我想要的:

print_r($qb->getQuery()->getResult());

//Print result: Array ( [0] => Array ( [id] => 20 [name] => Name1 ) [1] => Array ( [id] => 21 [percentagem] => Name2 ) )

我想要的是:

Array ( [20] => Array ( [id] => 20 [name] => Name1 ) [21] => Array ( [id] => 21 [percentagem] => Name2 ) )

建议,提示将不胜感激.

php doctrine-orm

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

如何在SonataAdminBundle的上传字段上方显示当前图片?

我正在使用SonataAdminBundle(使用Doctrine2 ORM),并且我已成功为我的Picture模型添加了文件上传功能.

我想在" 显示"和" 编辑"页面上,<img src="{{ picture.url }} alt="{{ picture.title }} />在相关表单字段上方显示一个简单标记(假设正在编辑的图片当然不是新的),以便用户可以看到当前照片,并决定是否改变与否.

经过几个小时的研究,我一直无法弄清楚如何去做.我想我需要覆盖一些模板,但我有点迷失...有人可以给我一个提示吗?

谢谢!

这是我的PictureAdmin类的相关部分.

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('category', NULL, ['label' => 'Catégorie'])
        ->add('title', NULL, ['label' => 'Titre'])
        ->add('file', 'file', ['required' => false, 'label' => 'Fichier']) // Add picture near this field
        ->add('creation_date', NULL, ['label' => 'Date d\'ajout'])
        ->add('visible', NULL, ['required' => false, 'label' => 'Visible'])
        ->add('position', NULL, ['label' => 'Position']);
}

protected function configureShowFields(ShowMapper $showMapper)
{
    $showMapper
        ->add('id', NULL, ['label' …
Run Code Online (Sandbox Code Playgroud)

php file-upload symfony symfony-sonata

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

Symfony2中$ em-> clear()时未定义的索引错误

我编写了一个Symfony命令来从API导入一些数据.它的工作原理但问题是当我在数据库中插入一个大的JSON时,我的PHP内存使用量会增加.并且我的unitOfWork在每次激活导入后增加"2".

我已经取消了所有用过的对象,当你想做大量的批处理时,我已经阅读了Symfony2的文档:http://www.doctrine-project.org/blog/doctrine2-batch-processing.html

但是当我使用$em->clear()我的实体管理器时会出现此错误:

注意:未定义的索引:000000007b56ea7100000000e366c259在path-to-application\vendor\doctrine\lib\Doctrine\ORM\UnitOfWork.php第2228行中

这是我的完整代码:

 /**
 * @see Command
 */
protected function configure() {
  $this
    ->setName('ks:user:runkeepersync')
    ->setDescription('Synchroniser les activités d\'un utilisateur runkeeper')
    ->setDefinition(array(
      new InputArgument('access_token', InputArgument::REQUIRED, 'Access token'),
    ))
}

/**
 * @see Command
 */
protected function execute(InputInterface $input, OutputInterface $output) {
  $accessToken = $input->getArgument('access_token');
  $em = $this->getContainer()->get('doctrine')->getEntityManager();
  $UserHasServices = $em->getRepository('KsUserBundle:UserHasServices')->findOneByToken($accessToken);
  if (!is_object($UserHasServices) ) {
    echo "Impossible de trouver l'utilisateur qui possède le jeton ".$accessToken."";
  }
  $user    = $UserHasServices->getUser();
  $service = $UserHasServices->getService();
  echo "avant de …
Run Code Online (Sandbox Code Playgroud)

php unit-of-work memory-limit undefined-index symfony

19
推荐指数
2
解决办法
5091
查看次数

为什么TCPDF会忽略我的内联CSS?

我正在尝试使用TCPDF创建PDF文件.但是当我尝试在HTML中插入内联CSS时,它显示的是空白页面!以下是我的几行HTML:

pdf->AddPage();

// set font
$pdf->SetFont('helvetica', 'B', 20);

$pdf->Write(0, 'Example of HTML Justification', '', 0, 'L', true, 0, false, false, 0);

// create some HTML content
$html = '
<div id="wrapper" style="width:900px;height:auto;margin:0 auto;">
<div id="header" style="width:900px;height:180px;border-bottom:2px solid #5a5a5a;">
<div id="img" style="width:174px;height:87px;position:relative;top:10px;left:350px;"><img src="Untitled Document_files/logoticket.png" /></div>
<div id="text" style="width:250px;position:relative;left:315px;top:20px;font-family:Arial, Helvetica, sans-serif;font-weight:bold;font-size:14px;">E-TICKET/RESERVATION VOUCHER</div>
<div id="text2" style="width:200px;position:relative;left:345px;top:40px;font-family:Arial, Helvetica, sans-serif;
font-weight:bold;font-size:12px;">Visit - www.bookings.7sisters.in</div>
</div>
<div id="mainContent">
<div id="icon" style="width:600px;
height:37px;
position:relative;
left:190px;
top:20px;">
<img src="Untitled D.....
Run Code Online (Sandbox Code Playgroud)

等等

我在TCPDF示例39中插入代码.但输出只是TCPDF徽标和"HTML Justification示例"行.什么原因?或者它不支持内联CSS?

css php tcpdf

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

Symfony 2.1中的功能测试中的身份验证

我目前正在将2.0.*项目迁移到Symfony的当前2.1 beta版.

在我的功能测试中,我目前使用此代码来创建具有身份验证的客户端:

$client = // create a normal test client
$role = 'ROLE_USER';
$firewallName = 'main';
$user = // pull a user from db

$client->getCookieJar()->set(new \Symfony\Component\BrowserKit\Cookie(session_name(), true));

$token = new UsernamePasswordToken($user, null, $firewallName, array($role));

self::$kernel->getContainer()->get('session')->set('_security_' . $firewallName, 
serialize($token));
Run Code Online (Sandbox Code Playgroud)

这在预期的2.0.*中有效,但在2.1中没有,数据没有在会话中设置.

有任何想法吗?

编辑(添加更多信息):

似乎问题出在方法" onKernelResponse " 中的文件" Symfony\Component\Security\Http\Firewall\ContextListener "中.有这个代码:

if ((null === $token = $this->context->getToken()) || ($token instanceof AnonymousToken)) {
    $session->remove('_security_'.$this->contextKey);
} else {
    $session->set('_security_'.$this->contextKey, serialize($token));
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下if"$ token instanceof AnonymousToken"是真的,因此会话密钥被删除.如果我注释掉那些代码,一切都按预期工作.

所以我想我的新问题是:我能做些什么来使令牌不是匿名的?

php symfony symfony-2.1

19
推荐指数
1
解决办法
5089
查看次数

如何在Visual Studio代码中格式化Laravel刀片代码?

我安装了一些Visual Studio代码扩展来处理Laravel刀片代码

laravel-blade [ https://marketplace.visualstudio.com/items?itemName=KTamas.laravel-blade ]

Laravel Blade Snippets [ https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade ]

但他们没有帮我格式化Laravel刀片代码[blade.php文件].我的意思是他们没有像我预期的那样自动缩进代码.但我已经看到在线刀片代码在Visual Studio Code IDE中缩进.

示例:

在此输入图像描述

https://medium.com/@ardanirohman/laravel-%EF%B8%8F-visual-studio-code-debug-environment-65440274d3b0

他们可以使用任何特定的配置或技术来实现这些扩展吗?还是有其他方法吗?提前致谢

php laravel visual-studio-code laravel-blade

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

Cookie会话驱动程序不会保存任何验证错误或闪存数据

我在Laravel中使用cookie会话驱动程序很困难.

我有一个简单的表格,有一个验证到位.这是我保存此表单数据的方法:

public function store()
{
    $this->validate(request(), [
        'name'        => 'required',
        'title'       => 'required',
        'description' => 'required|max:600',
        'image'       => 'required|file|mimes:jpeg,png',
    ]);

    $member = TeamMember::create(request()->all());
    $member->addImage(request()->file('image'));

    return redirect()->route('backoffice.team-members');
}
Run Code Online (Sandbox Code Playgroud)

很简单.

问题是,当使用cookie会话驱动程序时,如果我使用长度为1024个字符的描述保存此表单,我将被重定向回但没有闪存数据,并且$errors视图中没有下一个要处理的请求.

例:

在此输入图像描述

这是使用此行后的POST:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce gravida eros ut leo commodo luctus. Nulla neque dui, laoreet quis felis in, porta tincidunt felis. Phasellus in lacus et sem condimentum ornare. Praesent vitae nisi tempus, gravida tortor eu, convallis dui. Cras lacinia posuere scelerisque. Vestibulum …
Run Code Online (Sandbox Code Playgroud)

php cookies session laravel

19
推荐指数
2
解决办法
966
查看次数