سؤال

أنا واجهت اثنين من الحالات مؤخرا حيث كنت قد اخترت استخدام سطر الأوامر تفعل شيئا بدلا من PHP المكتبة.على سبيل المثال, في بي فعل هذا:

`curl http://someplace.com`

بدلا من هذا:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);

الحالة الأخرى هي استخدام يماغيماغيك هو واجهة سطر الأوامر بدلا من PHP واجهة.

بعض الناس تحدثت أعتقد أن استخدام المكتبات هو أفضل.البعض يقول أن الأفضل هو أسرع أخرى أقول أكثر أمانا ، إلخ.

ما هو رأيك ؟ ما هي فوائد استخدام واحد على الآخر ؟

أنا أعرف فائدة واحدة ، هي أن ليس لدي سوى سطر واحد من التعليمات البرمجية بدلا من 5.

هل كانت مفيدة؟

المحلول

أنا دائما استخدام المكتبات:

  1. لا حاجة إلى مفترق مرتين (مرة واحدة الفرعية قذيفة أخرى على البرنامج كنت تعمل) ، وبالتالي أسرع

  2. لا داعي للقلق حول الهروب وسيطات سطر الأوامر ، مما يساعد على الأمن

إذا كان عدد من الأسطر من التعليمات البرمجية هو القلق ، كتابة تلك 5 خطوط مرة واحدة في وظيفة ، ومن ثم استدعاء هذه الدالة عندما كنت في حاجة إليها.

نصائح أخرى

وتنفيذ التطبيقات على حد سواء ويحتمل أن تكون خطرة، ودائما تقريبا عملية مكلفة. تحتاج إلى الهروب كل معلمة التي تمرر للبرنامج، من بين أمور أخرى بشكل صحيح.

وتكلفة إنشاء عملية جديدة هي أيضا أعلى بكثير من استدعاء وظيفة بسيطة في قائمة واحدة.

وبينما ما تقومون به قد عمل بشكل جيد الآن، وسوف ليس مرة واحدة التطبيق الخاص بك عدة آلاف من المستخدمين المتزامنين. (أنت تخطط لذلك، ليست لك؟ :))

ووالمفاضلة بين استخدام مكالمة سطر الأوامر واستخدام المكتبة سرعة التطبيق الخاص بك، وسرعة جهاز الكمبيوتر يعمل التطبيق الخاص بك على.

وكل مرة تقوم بإجراء مكالمة سطر الأوامر من هذا القبيل، PHP له الى مفترق عملية (اثنان في الواقع، وقذيفة وثم الأمر الذي تريد تشغيله). ما يعنيه هذا هو، كان جهاز الكمبيوتر الخاص بك لبدء تطبيق آخر. هذا هو أشياء باهظة الثمن الذي يلتهم الكثير من موارد النظام. نفكر في ما يحدث إذا (أو عملية بدء التشغيل الخاص بك) محاولة بدء تشغيل العديد من البرامج في وقت واحد على جهاز الكمبيوتر الخاص بك.

عند استخدام المكتبة، ويجب أن تكون متشعب لا العمليات. PHP نفسها تقوم بعمل من شأنه أن تلك التطبيقات الأخرى القيام به.

وقال ذلك، لقد عرفت الكثير من إنتاج التطبيقات على شبكة الإنترنت أن تفلت من إجراء مكالمات لقيادة تطبيقات الخط التي لا تتوفر عبر مكتبات PHP. اذا كان انخفاض جزء المرور من تطبيق أو صفحة لا للضرب في كثير من الأحيان، قد تكون قادرة على الابتعاد معها، ولكن كنت شراء نفسك عالما من الأذى عندما يحين الوقت لتوسيع نطاق.

وهناك أيضا الأمن للنظر فيها. عند تشغيل الأوامر من PHP من هذا القبيل، إذا كنت تستخدم المتغيرات لبناء سلسلة الأمر، هل خطر شيء من هذا القبيل

;rm -rf /

ويجري حقنها في القيادة، والذي سيكون سيئا (جمهورية مقدونيا -rf / سيتم حذف نظام الملفات بأكمله). نعم، يمكنك الهروب المتغيرات الإدخال للتعامل مع هذا، ولكن اسأل أي PHP المطور المخضرم كيفية عمل الاستعلامات SQL الهروب يده.

وهكذا، وباختصار، ربما يمكنك أن تفلت من العقاب، ولكنها ليست من أفضل الممارسات وكنت شراء نفسك حمولة من الألم في المستقبل عندما ليالي --- يضرب المروحة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top