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

PHP เป็นภาษาสคริปต์ที่ใช้กันอย่างแพร่หลายในระดับสูงมีการเปลี่ยนแปลงเชิงวัตถุและมีการตีความที่ออกแบบมาเพื่อการพัฒนาเว็บเซิร์ฟเวอร์เป็นหลัก ใช้สำหรับคำถามเกี่ยวกับภาษา PHP

6
คุณสามารถ 'ออกจากลูปใน PHP ได้หรือไม่?
ฉันมีลูปที่ตรวจสอบข้อผิดพลาดบางอย่างในโค้ด PHP ของฉัน แต่เดิมมันเป็นแบบนี้ ... foreach($results as $result) { if (!$condition) { $halt = true; ErrorHandler::addErrorToStack('Unexpected result.'); } doSomething(); } if (!$halt) { // do what I want cos I know there was no error } สิ่งนี้ใช้งานได้ดีและดี แต่ก็ยังคงวนซ้ำอยู่แม้จะมีข้อผิดพลาดเพียงครั้งเดียวก็ไม่จำเป็นต้องมี มีทางรอดหรือไม่?
118 php  loops 

2
วิธีดึงข้อมูลการร้องขอ
ฉันใช้PHP , ExtJSและร้านอาแจ็กซ์ ส่งข้อมูล (เมื่อสร้างอัปเดตทำลาย) ไม่อยู่ใน POST หรือ GET ในคอนโซล Chromeฉันเห็นพารามิเตอร์ขาออกเป็น JSON ในช่อง " ขอเพย์โหลด " $ _POST และ$ _GETว่างเปล่า จะดึงข้อมูลใน PHP ได้อย่างไร?
118 php  javascript  json  extjs 

6
การมองเห็นเริ่มต้นของคลาสเมธอดใน PHP
ฉันดูคู่มือแต่ดูเหมือนจะหาคำตอบไม่ได้ การมองเห็นเริ่มต้นใน PHP สำหรับวิธีการที่ไม่มีการประกาศการเปิดเผยคืออะไร? PHP มีการมองเห็นแพ็คเกจเหมือนใน Java หรือไม่? ตัวอย่างเช่นในรหัสต่อไปนี้เป็นgo()สาธารณะหรือส่วนตัว? class test { function go() { } } เหตุผลที่ผมถามคือว่าผมเคยเห็นรหัสก่อสร้างงานเขียนเป็นจำนวนมากและบางส่วนเป็นfunction __construct() public function __construct()เทียบเท่าหรือไม่?
118 php  oop  visibility 


13
ฉันจะใช้ตัวดำเนินการ ternary (? :) ใน PHP เป็นชวเลขสำหรับ“ if / else” ได้อย่างไร
จากตัวอย่างจากหน้านี้ฉันมีตัวอย่างโค้ดที่ใช้งานได้และไม่ทำงานด้านล่าง รหัสการทำงานโดยใช้ifคำสั่ง: if (!empty($address['street2'])) echo $address['street2'].'<br />'; รหัสที่ไม่ทำงานโดยใช้ตัวดำเนินการ ternary: $test = (empty($address['street2'])) ? 'Yes <br />' : 'No <br />'; // Also tested this (empty($address['street2'])) ? 'Yes <br />' : 'No <br />'; อัปเดต หลังจากคำแนะนำของ Brian ฉันพบว่าการสะท้อนให้$testผลลัพธ์ที่คาดหวัง ผลงานต่อไปนี้อย่างจับใจ! echo (empty($storeData['street2'])) ? 'Yes <br />' : 'No <br />';

5
is_file หรือ file_exists ใน PHP
ฉันต้องการตรวจสอบว่าไฟล์อยู่ใน HDD ในตำแหน่งที่ระบุหรือไม่ ($ path. $ file_name) อะไรคือความแตกต่างระหว่างฟังก์ชันis_file()และfile_exists()ฟังก์ชันใดที่ดีกว่า / เร็วกว่าในการใช้ PHP?
118 php  file  exists 

11
อ่านแต่ละบรรทัดของไฟล์ txt ไปยังองค์ประกอบอาร์เรย์ใหม่
ฉันพยายามอ่านไฟล์ข้อความทุกบรรทัดลงในอาร์เรย์และให้แต่ละบรรทัดในองค์ประกอบใหม่ รหัสของฉันจนถึงตอนนี้ <?php $file = fopen("members.txt", "r"); $i = 0; while (!feof($file)) { $line_of_text = fgets($file); $members = explode('\n', $line_of_text); fclose($file); ?>
118 php  arrays  text-files  fgets 

2
ffmpeg แทนที่ไฟล์เอาต์พุตหากมีอยู่
ฉันสร้างคลิปจากไฟล์เสียง.FLACที่มีstartและเวลาที่นี่เป็นของฉันendcommand ffmpeg -i /audio/191079007530_1_01.flac -t 51 -ss 69 /clips/44z274v23303t264y2z2s2s2746454t234_clip.mp3 2>&1 >> /ffmpegLogs.log ฉันใช้คำสั่งนี้กับPHPรหัสของฉันและคำถามของฉันคือ เมื่อฉันรันคำสั่งด้านบนบนคอนโซลระบบจะขอให้ฉันทำ แทนที่ไฟล์เอาต์พุตหากไฟล์เอาต์พุตมีอยู่แล้วในปลายทาง ฉันควรใช้อะไรswitchเพิ่มcommandเพื่อลบล้างโดยอัตโนมัติหากมีไฟล์อยู่
118 php  ffmpeg 

6
ฉันจะสร้างอาร์เรย์ด้วยคู่ค่าคีย์ได้อย่างไร
ฉันจะเพิ่มคู่คีย์ค่าลงในอาร์เรย์ได้อย่างไร สิ่งนี้ใช้ไม่ได้: public function getCategorieenAsArray(){ $catList = array(); $query = "SELECT DISTINCT datasource_id, title FROM table"; if ($rs=C_DB::fetchRecordset($query)) { while ($row=C_DB::fetchRow($rs)) { if(!empty($row["title"])){ array_push($catList, $row["datasource_id"] ."=>". $row["title"] ); } } } return($catList); } เพราะมันทำให้ฉัน: Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 ) และฉันคาดหวังว่า: …
117 php  arrays 


10
จะใช้วิธีการ bindValue ในประโยค LIMIT ได้อย่างไร
นี่คือภาพรวมของรหัสของฉัน: $fetchPictures = $PDO->prepare("SELECT * FROM pictures WHERE album = :albumId ORDER BY id ASC LIMIT :skip, :max"); $fetchPictures->bindValue(':albumId', $_GET['albumid'], PDO::PARAM_INT); if(isset($_GET['skip'])) { $fetchPictures->bindValue(':skip', trim($_GET['skip']), PDO::PARAM_INT); } else { $fetchPictures->bindValue(':skip', 0, PDO::PARAM_INT); } $fetchPictures->bindValue(':max', $max, PDO::PARAM_INT); $fetchPictures->execute() or die(print_r($fetchPictures->errorInfo())); $pictures = $fetchPictures->fetchAll(PDO::FETCH_ASSOC); ฉันเข้าใจ คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่ตรงกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่เหมาะสมที่จะใช้ใกล้ '' …
117 php  mysql  sql  pdo  bindvalue 

9
ความแตกต่างระหว่าง array_push () และ $ array [] =
ในคู่มือ PHP ( array_push ) ระบุว่า .. หากคุณใช้array_push ()เพื่อเพิ่มองค์ประกอบหนึ่งในอาร์เรย์ควรใช้$ array [] =เนื่องจากวิธีดังกล่าวไม่มีค่าใช้จ่ายในการเรียกใช้ฟังก์ชัน ตัวอย่างเช่น : $arr = array(); array_push($arr, "stackoverflow"); print_r($arr); VS $arr[] = "stackoverflow"; print_r($arr); ฉันไม่เข้าใจว่าทำไมถึงมีความแตกต่างกันมาก
117 php  arrays  push 

3
fastcgi และ fpm ต่างกันอย่างไร
ฉันพยายามติดตั้ง php ด้วย fpm บน macports ฉันอ่านที่ไหนสักแห่งว่า fpm หมายถึงตัวจัดการกระบวนการ FastCGI หมายความว่า fastcgi และ fpm เหมือนกันหรือไม่? ถ้ามันเหมือนกันทำไมเราถึงมี macports สองรูปแบบที่แตกต่างกันสำหรับ php คือ "php5 + fastcgi"และ "php5 + fpm"
117 php  macos  fastcgi  macports 

7
PDO MySQL: ใช้ PDO :: ATTR_EMULATE_PREPARES หรือไม่?
นี่คือสิ่งที่ฉันได้อ่านเกี่ยวกับPDO::ATTR_EMULATE_PREPARES: PDO ของการเตรียมความพร้อมการแข่งขันจะดีกว่าสำหรับผลการดำเนินงานตั้งแต่ MySQL พื้นเมืองเตรียมทะลุแคชแบบสอบถาม ของ MySQL พื้นเมืองเตรียมจะดีกว่าสำหรับการรักษาความปลอดภัย (ป้องกัน SQL Injection) ของ MySQL พื้นเมืองเตรียมจะดีกว่าสำหรับการรายงานข้อผิดพลาด ฉันไม่รู้ว่าข้อความเหล่านี้เป็นจริงแค่ไหน ข้อกังวลที่สุดของฉันในการเลือกอินเทอร์เฟซ MySQL คือการป้องกัน SQL Injection ข้อกังวลประการที่สองคือประสิทธิภาพ ขณะนี้แอปพลิเคชันของฉันใช้ MySQLi ตามขั้นตอน (โดยไม่มีคำสั่งที่เตรียมไว้) และใช้แคชแบบสอบถามค่อนข้างน้อย แทบจะไม่นำคำสั่งที่เตรียมไว้มาใช้ซ้ำในคำขอเดียว ฉันเริ่มต้นการย้ายไปยัง PDO สำหรับพารามิเตอร์ที่ตั้งชื่อและความปลอดภัยของคำสั่งที่เตรียมไว้ ฉันใช้MySQL 5.1.61และPHP 5.3.2 ฉันควรPDO::ATTR_EMULATE_PREPARESเปิดใช้งานหรือไม่ มีวิธีใดบ้างที่จะมีทั้งประสิทธิภาพของแคชแบบสอบถามและความปลอดภัยของคำสั่งที่เตรียมไว้
117 php  mysql  pdo 

5
วิธีการจำลอง phpunit การโทรหลายครั้งพร้อมอาร์กิวเมนต์ที่แตกต่างกัน
มีวิธีใดในการกำหนดการจำลองที่แตกต่างกันสำหรับอาร์กิวเมนต์อินพุตที่แตกต่างกันหรือไม่? ตัวอย่างเช่นฉันมีคลาสเลเยอร์ฐานข้อมูลที่เรียกว่า DB คลาสนี้มีเมธอดที่เรียกว่า "Query (string $ query)" ซึ่งเมธอดนั้นใช้สตริงเคียวรี SQL ในอินพุต ฉันสามารถสร้างการจำลองสำหรับคลาสนี้ (DB) และตั้งค่าการส่งคืนที่แตกต่างกันสำหรับการเรียกวิธีการสอบถามที่แตกต่างกันซึ่งขึ้นอยู่กับสตริงแบบสอบถามอินพุตได้หรือไม่
117 php  mocking  phpunit 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.