คำถามติดแท็ก php-7

13
ผู้ประกอบการที่สาม PHP เทียบกับผู้ประกอบการรวม null
บางคนสามารถอธิบายความแตกต่างระหว่างตัวดำเนินการแบบไตรภาค shorthand ( ?:) และตัวดำเนินการรวมค่า null ( ??) ใน PHP ได้หรือไม่? เมื่อไหร่ที่พวกเขาประพฤติแตกต่างกันและเมื่อในลักษณะเดียวกัน (ถ้าเป็นเช่นนั้น) $a ?: $b VS. $a ?? $b

12
ฉันจะติดตั้งส่วนขยาย ext-curl ด้วย PHP 7 ได้อย่างไร
ฉันติดตั้ง PHP 7 โดยใช้repo นี้แต่เมื่อฉันพยายามเรียกใช้composer installมันมีข้อผิดพลาดนี้: [แพ็คเกจ] ต้องการ ext-curl * -> ส่วนขยาย PHP ที่ร้องขอนั้นหายไปจากระบบของคุณ ด้วย PHP 5 คุณสามารถติดตั้งได้อย่างง่ายดายโดยการรันคำสั่งyumหรือapt-get install php5-curlแต่ฉันไม่สามารถหาวิธีการติดตั้ง PHP 7 ที่เทียบเท่าได้ ฉันจะติดตั้ง ext-curl สำหรับ PHP 7 ได้อย่างไร
188 php  curl  php-7 

8
PHP 7: ไม่มี VCRUNTIME140.dll
ฉันมีข้อผิดพลาดเมื่อฉันเริ่ม PHP 7 บน Windows เมื่อฉันรันphpบนบรรทัดคำสั่งมันจะส่งคืนกล่องข้อความพร้อมข้อผิดพลาดของระบบ: โปรแกรมไม่สามารถเริ่มทำงานได้เนื่องจาก VCRUNTIME140.dll หายไปจากคอมพิวเตอร์ของคุณ ลองติดตั้งโปรแกรมใหม่เพื่อแก้ไขปัญหานี้ หลังจากนั้นCLIก็กระแทก เนื่องจากฉันไม่ต้องการติดตั้งไฟล์ DLL จากเว็บไซต์ภายนอกฉันไม่ทราบวิธีแก้ไขปัญหานี้! รุ่น PHP: 7.0.0alpha1 VC14 x64 เธรดที่ปลอดภัย
168 php  windows  dll  php-7 

5
PHP7: ติดตั้งปัญหา ext-dom
ฉันใช้ laravel 5.4 บนเซิร์ฟเวอร์ Ubuntu 16.04 ด้วย PHP7 พยายามติดตั้งcviebrock/eloquent-sluggableแพคเกจมีข้อผิดพลาด: pish@let:/home/sherk/ftp/www$ sudo composer require cviebrock/eloquent-sluggable Do not run Composer as root/super user! See https://getcomposer.org/root for details Using version ^4.2 for cviebrock/eloquent-sluggable ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved …

3
ชนิดส่งคืนที่ Nullable ใน PHP7
PHP 7 เปิดตัวส่งกลับชนิดประกาศ ซึ่งหมายความว่าตอนนี้ฉันสามารถระบุว่าค่าตอบแทนเป็นคลาสอินเทอร์เฟซอาร์เรย์ callable หรือหนึ่งในประเภทสเกลาร์ที่บอกใบ้ได้ใหม่ซึ่งเป็นไปได้สำหรับพารามิเตอร์ฟังก์ชัน function returnHello(): string { return 'hello'; } บ่อยครั้งที่มันเกิดขึ้นที่ค่าไม่ได้มีอยู่เสมอและคุณอาจส่งคืนบางสิ่งบางอย่างหรือเป็นโมฆะ ในขณะที่คุณสามารถทำให้พารามิเตอร์เป็นโมฆะได้โดยการตั้งค่าเริ่มต้นเป็นโมฆะ ( DateTime $time = null) ดูเหมือนจะไม่เป็นเช่นนั้นสำหรับวิธีการส่งคืน เป็นเช่นนั้นจริงหรือฉันไม่พบวิธีที่จะทำหรือไม่? สิ่งเหล่านี้ใช้ไม่ได้: function returnHello(): string? { return 'hello'; } function returnHello(): string|null { return 'hello'; }

10
mcrypt เลิกใช้แล้วทางเลือกอื่นคืออะไร?
Mcrypt นามสกุลถูกเลิกใช้จะถูกลบออกใน PHP 7.2 ตามความคิดเห็นที่โพสต์ที่นี่ ดังนั้นฉันกำลังมองหาวิธีอื่นในการเข้ารหัสรหัสผ่าน ตอนนี้ฉันกำลังใช้บางอย่างเช่น mcrypt_encrypt(MCRYPT_RIJNDAEL_128, md5($key, true), $string, MCRYPT_MODE_CBC, $iv) ฉันต้องการความคิดเห็นของคุณสำหรับวิธีที่ดีที่สุด / แข็งแกร่งที่สุดในการเข้ารหัสรหัสผ่านแน่นอนว่ารหัสผ่านที่เข้ารหัสควรได้รับการสนับสนุนโดย PHP 7.xx และควรถอดรหัสได้เนื่องจากลูกค้าของฉันต้องการมีตัวเลือกในการ 'กู้คืน' รหัสผ่านโดยไม่ต้องสร้างใหม่ หนึ่ง.

5
PHP 7 อินเทอร์เฟซการบอกใบ้ประเภทส่งคืนและตัวเอง
อัปเดต : ขณะนี้ PHP 7.4 รองรับความแปรปรวนร่วมและความแตกต่างซึ่งแก้ไขปัญหาสำคัญที่เกิดขึ้นในคำถามนี้ ฉันพบปัญหาบางอย่างกับการใช้คำใบ้ประเภทการส่งคืนใน PHP 7 ความเข้าใจของฉันคือการบอกใบ้: selfหมายความว่าคุณตั้งใจให้คลาสการใช้งานกลับมาเอง ดังนั้นฉันจึงใช้: selfอินเทอร์เฟซเพื่อระบุสิ่งนั้น แต่เมื่อฉันพยายามใช้อินเทอร์เฟซจริงฉันพบข้อผิดพลาดเกี่ยวกับความเข้ากันได้ ต่อไปนี้เป็นการสาธิตง่ายๆเกี่ยวกับปัญหาที่ฉันพบ: interface iFoo { public function bar (string $baz) : self; } class Foo implements iFoo { public function bar (string $baz) : self { echo $baz . PHP_EOL; return $this; } } (new Foo ()) …

2
เหตุใดฉันจึงได้รับข้อผิดพลาด“ คุณสมบัติที่พิมพ์ต้องไม่สามารถเข้าถึงได้ก่อนเริ่มต้น” เมื่อแนะนำคำแนะนำประเภทคุณสมบัติ?
ฉันได้อัพเดตคำจำกัดความของคลาสของฉันเพื่อใช้ประโยชน์จากคำแนะนำประเภทคุณสมบัติที่แนะนำใหม่เช่นนี้: class Foo { private int $id; private ?string $val; private DateTimeInterface $createdAt; private ?DateTimeInterface $updatedAt; public function __construct(int $id) { $this->id = $id; } public function getId(): int { return $this->id; } public function getVal(): ?string { return $this->val; } public function getCreatedAt(): ?DateTimeInterface { return $this->createdAt; } public …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.