Questions tagged «php»

PHP是一种广泛使用的高级动态,面向对象和解释性脚本语言,主要用于服务器端Web开发。用于有关PHP语言的问题。


7
如何在PHP> = 5.3严格模式下向对象添加属性而不会产生错误
这必须很简单,但是我似乎找不到答案。 我有一个$foo没有属性的通用stdClass对象。我想向其中添加一个$bar尚未定义的新属性。如果我这样做: $foo = new StdClass(); $foo->bar = '1234'; PHP在严格模式下抱怨。 (在类声明之外)将属性添加到已实例化的对象的正确方法是什么? 注意:我希望该解决方案能够与类型为stdClass的通用PHP对象一起使用。 关于这个问题的一些背景。我正在解码json字符串,它是json对象的数组。 json_decode()生成StdClass对象的数组。我需要操纵这些对象,并为每个对象添加一个属性。
81 php  class 

5
Laravel 5.2-使用字符串作为口才表的自定义主键变为0
我正在尝试使用电子邮件作为表的主键,所以雄辩的代码是- <?php namespace App; use Illuminate\Database\Eloquent\Model; class UserVerification extends Model { protected $table = 'user_verification'; protected $fillable = [ 'email', 'verification_token' ]; //$timestamps = false; protected $primaryKey = 'verification_token'; } 我的数据库就是这样的 但是如果我这样做- UserVerification::where('verification_token', $token)->first(); 我得到这个- { "email": "sdfsdf@sdfsdf.sdf", "verification_token": 0, "created_at": "2016-01-03 22:27:44", "updated_at": "2016-01-03 22:27:44" } 因此,验证令牌/主键变为0。 谁能帮忙吗?

4
Laravel:使用try…catch与DB :: transaction()
我们都使用DB::transaction()多个插入查询。这样做时,应该将try...catch其放置在内部还是包裹起来?甚至有必要try...catch在交易出现问题时自动将交易失败的情况包括在内吗? try...catch包装交易的样本: // try...catch try { // Transaction $exception = DB::transaction(function() { // Do your SQL here }); if(is_null($exception)) { return true; } else { throw new Exception; } } catch(Exception $e) { return false; } 相反,DB::transaction()包装try ... catch: // Transaction $exception = DB::transaction(function() { // try...catch try { // …

8
如何动态编写PHP对象属性名称?
我的代码中具有对象属性,如下所示: $obj ->field_name_cars[0]; $obj ->field_name_clothes[0]; 问题是我有100多个字段名称,需要动态写入属性名称。否则,对象名称和属性的键将始终相同。所以我尝试了: $obj -> $field[0]; 希望可以动态更改属性名称并访问正确的值。但是,我一直在stdClass :: $ field中得到'undefined property $ field;。 我或多或少尝试在执行之前动态编写php,以便它可以输出适当的值。关于如何处理此问题的想法?
81 php 

10
流明:在“刀片”视图中获取URL参数
我正在尝试从视图文件获取url参数。 我有这个网址: http://locahost:8000/example?a=10 还有一个名为的视图文件example.blade.php。 从控制器我可以得到的参数a用$request->input('a')。 有没有办法从视图中获取此类参数(而不必将其从控制器传递给视图)?
81 php  laravel  blade  lumen 

7
使用CURL设置Bearer令牌的正确方法
我从API端点获取了承载令牌,并设置了以下内容: $authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274" 接下来,我想使用CURL访问安全端点,但是不确定如何或在何处设置Bearer令牌。 我已经尝试过了,但是没有用: curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS,$post); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $result = curl_exec($ch); curl_close($ch); return json_decode($result); 编辑: 根据文档,我应该这样使用承载令牌:https : //apigility.org/documentation/auth/authentication-oauth2 GET /oauth/resource HTTP/1.1 Accept: application/json Authorization: Bearer 907c762e069589c2cd2a229cdae7b8778caa9f07
81 php  http  curl  oauth-2.0 

8
如何跟踪文件下载
我有一个网站,可以在Flash Player中播放mp3。如果用户单击“播放”,则Flash Player会自动下载mp3并开始播放。 有没有一种简便的方法来跟踪特定歌曲剪辑(或任何二进制文件)已被下载多少次? 播放链接是指向实际mp3文件的链接,还是指向弹出播放器的某些JavaScript代码的链接? 如果是后者,则可以轻松地在其中添加自己的日志记录代码,以跟踪其命中次数。 如果是前者,则需要一些可以跟踪Web服务器日志本身并进行区分的东西。我的托管计划与Webalizer一起提供,可以很好地完成此任务。 这是一个javascript代码,因此可以回答。 但是,很高兴知道如何使用其他方法(无需切换主机)来跟踪下载。

5
您的openssl扩展不支持SHA384,无法验证phar文件的完整性
我composer self-update在Windows 10上运行时收到 错误消息这是完整的错误消息 composer self-update Updating to version 1.8.4 (stable channel). Downloading (100%) [RuntimeException] SHA384 is not supported by your openssl extension, could not verify the phar file integrity 我正在跑步PHP 7.3.2 可能是什么问题?
81 php  composer-php 

7
Composer引发[ReflectionException]类Fxp \ Composer \ AssetPlugin \ Repository \ NpmRepository不存在
我安装了最新版本的(1.0.0。stable)composer,在我的Yii2项目中输入了以下内容: php composer.phar update 它给了我这个错误: [ReflectionException]类Fxp \ Composer \ AssetPlugin \ Repository \ NpmRepository不存在 [ErrorException] Fxp \ Composer \ AssetPlugin \ Repository \ AbstractAssetsRepository :: whatProvides()的声明应与Composer \ Repository \ ComposerRepository :: whatProvides(Composer \ DependencyResolver \ Pool $ pool,$ name,$ bypassFilters = false)兼容 有人可以帮我解决这个问题吗? 这是我的composer.json { "name": "yiisoft/yii2-app-advanced", "description": "Yii 2 …
80 php  yii2  composer-php 

6
如何从PHP脚本发送500 Internal Server Error错误
在某些情况下,我需要从PHP脚本发送“ 500 Internal Server Error”。该脚本应该由第三方应用程序调用。该脚本包含一些die("this happend")语句,我需要为它们发送500 Internal Server Error响应代码,而不是通常的语句200 OK。第三方脚本将在某些条件下重新发送请求,包括不接收200 OK响应代码。 问题的第二部分:我需要这样设置我的脚本: <?php custom_header( "500 Internal Server Error" ); if ( that_happened ) { die( "that happened" ) } if ( something_else_happened ) { die( "something else happened" ) } update_database( ); // the script can also fail on the …
80 php  http-headers 

6
优化基于Kohana的网站以提高速度和可扩展性
我与Kohana一起建立的网站昨天遭到了巨大的点击量,这使我退后一步并评估了一些设计。我很好奇什么是优化基于Kohana的应用程序的一些标准技术? 我也对基准测试感兴趣。是否需要设置Benchmark::start()和设置Benchmark::stop()每个控制器方法才能查看所有页面的执行时间,还是能够在全球范围内快速应用基准测试? 我将在更多时间使用Cache库,但是我愿意接受更多建议,因为我敢肯定,目前我还不知道有很多事情可以做。

5
任何用PHP编写的体面的PHP解析器?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 我做了很多工作来处理和分析PHP代码。通常,我只是使用Tokenizer来做到这一点。对于大多数应用来说,这已经足够了。但是有时使用词法分析器解析不够可靠(显然)。 因此,我正在寻找一些用PHP编写的PHP解析器。我发现hnw / PhpParser和kumatch / stagehand-php-parser。两者都是通过使用PHP而不是C将zend_language_parser.y自动转换为.y文件创建的,然后编译为LALR(1)解析器。但是,这种自动转换无法使用。 那么,有没有用PHP编写的不错的PHP解析器?(对于PHP 5.2,我需要一个,对于5.3,我需要一个。但是,其中一个也是一个很好的起点。)
80 php  parsing 

6
PHP memcached致命错误:找不到类“ Memcache”
我已经从php.net粘贴了在php中使用memcached的示例,并且得到了: Fatal error: Class 'Memcache' not found 我在php.ini中有这个: [memcache] memcache.hash_strategy =“一致” memcache.max_failover_attemps = 100 memcache.allow_failover = 1 这是分别来自php -i和php -m的信息: php -i | grep -i memcache memcached memcached支持=>已启用 libmemcached版本=> 0.37已 注册的保存处理程序=>文件用户sqlite memcached php -m | grep -i memcache memcached 因此,php似乎已将memcached作为模块加载,并且php info表示已加载并正在使用v .37。我还没有通过apache尝试过,我现在只是通过cli来使用它。有什么想法吗?

8
如何合并两个PHP Doctrine 2 ArrayCollection()
有什么方便的方法可以让我串联两个教义ArrayCollection()吗?就像是: $collection1 = new ArrayCollection(); $collection2 = new ArrayCollection(); $collection1->add($obj1); $collection1->add($obj2); $collection1->add($obj3); $collection2->add($obj4); $collection2->add($obj5); $collection2->add($obj6); $collection1->concat($collection2); // $collection1 now contains {$obj1, $obj2, $obj3, $obj4, $obj5, $obj6 } I just want to know if I can save me iterating over the 2nd collection and adding each element one by one to …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.