我想定义一个变量,每次调用类时都不会保持不变,但在我的方法中使用常量,例如:
<?php
class ImageUploadModel
{
public static $file_name = Session::get('id').'_'. md5("abcdefghijklmnopqrstuvxyz123456789") .'_'. uniqid();
public static function blah()
{
echo SELF::file_name; //I want it to be the same as function blah2
}
public static function blah2()
{
echo SELF::file_name; //I want it to be the same as function blah
}
//ended, so the next time it runs I want file_name to be a different value
我希望每次运行都是每个函数的相同变量,但是当再次调用类来更改值时。我怎么能这样做?
答案 0 :(得分:0)
有两种方法可以实现这一目标,但一般来说,在调用file_name
或blah
之前,您需要生成blah2
。 (顺便说一下,你的md5总是会变成相同的值,这会让它变得毫无用处,imo。我会改变你的哈希值或完全删除它。)
<?php
public static function generateFilename ($id) {
self::$file_name = $id . '_' . md5(time()) . '_' . uniqid();
}
然后使用它:
ImageUploadModel::generateFilename(Session::get('id'));
ImageUploadModel::blah();
ImageUploadModel::blah2();
和ImageUploadModel :: $ file_name在两个&#34; blah&#34;之间是相同的。调用