الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة قبل مقابلة العمل php curl

بدأه NightStar في 21 سبتمبر 2011 · 9 رد · 1,712 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني حقيقة انا عندي خبرة في تعديل السكربتات وملفات التمليتيز في جوملا وورد برس خبرتي تكاد معدومة في البرمجة من الصفر حيث انني اعرف اساسيات وتعديلات كما أسلفت

فانا اليوم أطلب مساعدتكم ان امكن في التالي والله يجزيكم كل خير

في اقرب وقت ان امكن:(

1. Write a curl library in php that uses the built-in php curl functions but implements them as an object-oriented class. It needn't be overly complex but should implement at least get() and post() methods, and one or two other methods that implement features of curl.

2. Purely conceptual; please explain what your approach would be to making some sort of SSO work with an existing CMS. There's no right or wrong answer here, but the answer should explain pitfalls and advantages to the approach.

What is your text editor of choice and why?

Textpad, under Ubuntu

I Find it very user friendly and handy in making changes and getting results

What are your favourite desktop and server OS' and why?

Tabs or spaces and why?

What do you consider to be the most important trait or traits in a software developer?

What's the coolest hack you've ever achieved?

تم تعديل هذه المشاركة بواسطة NightStar في 21 سبتمبر 2011 في 18:22

#2

السلام عليكم ورحمة الله وبركاته .. الله يوفقك أختي NightStar

بمقابلة العمل هذه ياااااارب ..

أول شي علينا معرفة ماهي cURL ؟

هي طريقة تبادل المعلومات مع مواقع أخرى ولكن بطريقة محمية وأكثر أمانا .. ومثال عليها التعاملات البنكية ..وأيضا في تناقل الملفات عبر FTP

ثاني شيء علينا معرفة كيف نكتب هذه التعلميات وماهي خياراتها ؟

هناك ثلاث خطوات لكتابة هذه الأكواد ::

1- التعريف عنها أو مايسمى Initialization .

$con = curl_init();

2- وضع الخيارات :

curl_setopt($con, CURLOPT_xxx, value);

نستبدل xxxبقيمة الخيارات التي نحتاجها لهذه العملية ..

ماهي الخيارات ؟

هناك الكثير من الخيارات التي يمكن أن تسخدميها وهي كثيرة .. ولكن سأسرد أهمها ..

CURLOPT_URL :يأخذ قيمة الرابط الذي سنتبادل معه البيانات .

CURLOPT_HTTPHEADER : يمكن أن يأخذ مجموعة من القيم عن طريق مصفوفة معينة . والقيمة هي لترويسة HTTP

CURLOPT_NOBODY : يأخذ القيمة 1 وهذا يعني أننا لانحتاج لطباعة محتوى الصفحة ...

CURLOPT_HEADER : هنا لإسترداد قيمة الترويسة القادمة من الرابط .

CURLOPT_RETURNTRANSFER : استراد محتوى الرابط دون الطباعة ..

بهذا الرابط يحتوي على المرجع الكامل .

php.net

3-التنفيذ Excution:

يتم بهذه الطريقة وهو يتم بعد كتابة الخيارات كلها ..

$go = curl_exec($con);

4- الحصول على المعلومات getinfo وهو خياري ..

بهذه الطريقة يتم وهو يقوم بأنتاج مصفوفة تستيطع الوصول لأي قيمة تريد عن طريقه

$info = curl_getinfo($con);

ماهي القيم الموجودة داخل هذه المصفوفة ؟

/*the type of information 
	“url”
	“content_type”
	“http_code”
	“header_size”
	“request_size”
	“filetime”
	“ssl_verify_result”
	“redirect_count”
	“total_time”
	“namelookup_time”
	“connect_time”
	“pretransfer_time”
	“size_upload”
	“size_download”
	“speed_download”
	“speed_upload”
	“download_content_length”
	“upload_content_length”
	“starttransfer_time”
	“redirect_time”
*/

5- الأغلاق وهي تتم بعد الأنتهاء من عملية التبادل

curl_close($con);

أما بالنسبة ماهو المطلوب منك ..

1- فهم يطلبون منك أن تقومي بتصميم كلاس يقوم بالتعامل مع cURL وهم لايريدونه كثير التعقيد يريدون فقط منهجين post و الـ get بعض المناهج التي تتعامل مع خصائص cURL . وهي تستخدم عن طريق البرمجة غرضية التوجه . OOP .

الطلب الثاني :

فهم يسألونك عن كيف تقومين بعملية SSO داخل CMS مسبق البرمجة ..

قبل أن تجاوبي عليكي أن تعرفي ماهذه الأمور ؟

SSO : Single Sign-on :

وهي الطريقة التي تسمح لمستخدمي الموقع بالدخول إللى الصفحات دون اعادة طلب تسجيل الدخووووووووول ..

CMS : Content Managment System :

وهو مدير المحتوى .

أما باقي الطلبات فأظن أنها واضحة .

وأرجو لك الفائدة

لامارتير

2
#3

شكرا اخ La Martir

الشرح واضح طيب بخصوص طلبهم

هل هنالك مثال ؟ اقل ما بها على الانترنت مثلا اين اجد امثله

(POST)

(GET) AND اطبق عليها واتعلم منها لان المقابلة خلال يومين ويتوجب علي تحضير الاساله والاجابة عليها قبل المقابلة

بخصوص ال SSO

انت تقصد ال COOKIES

AND

SESSIONS

صح؟

وكمبرج اسمح لي ما هو الفرق بين ال Tabs or spaces and why?

انا اعرف ما معناهم ولكن ما هو الخلل مثلا في استخدام احداهما عن الاخرى؟

وبخصوص سؤالك عن افضل هاك قمت به

هم يقصدون ماهو برنامج صغير قمتي بعمله وترينه افضل شيء

صح؟

تقبل تحياتي وشكرا لك مرة ثانية

اختك نجمة

تم تعديل هذه المشاركة بواسطة NightStar في 21 سبتمبر 2011 في 19:43

#4

بالنسبة للمثال أختي فهناك مثال :: جميل ..

وهو لمعرفة المتصفح الذي يستخدمه الزائر .. وإعادة توجيهه بناء على نوع التصفح الخاص به

$urls = array(
			"http://www.cnn.com",
			"http://www.google.com",
			"http://www.mozila.com"
				);
				// test browsers  
	$browsers = array(  

	"standard" => array (  
    	"user_agent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)",  
    	"language" => "en-us,en;q=0.5"  
    	),  

	"iphone" => array (  
    	"user_agent" => "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A537a 			Safari/419.3",	  
		"language" => "en"  
    	),  

	"french" => array (  
    	"user_agent" => "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6; .NET CLR 2.0.50727)",  
    	"language" => "fr,fr-FR;q=0.5"  
    	)  

					);

	foreach($urls as $url){
			echo "An Url $url\n";
				foreach($browsers as $test_name=>$browser){
				$con = curl_init();
				//set the option
				curl_setopt($con, CURLOPT_URL, $url);

				//creating the httpheaders.
				curl_setopt($con, CURLOPT_HTTPHEADER, array(
				"User-Agent:{$broweser['user_agent']}",
				"Accept-Language:{$browser['language']}"
				});

				//we don`t need the content of the page 
				curl_setopt($con, CURLOPT_NOBODY, 1);

				//we want to return the httpheader of the browser.
				curl_setopt($con, CURLOPT_HEADER, 1);

				//return the data instead of outputting it .
				curl_setopt($con, CURLOPT_RETURNTRANSFER, 1 );

				//executting 
				$res = curl_exec($con);

				//close the connection
				curl_close($con);

				if(preg_match("/Location:(.*)/"),$res, $match){
					echo "$test_name redirected to $matc[1]";
				}else {
					echo "$test_name no redirecrion" ;
				}

				}



	}

أو يمكنك تحميل بعض الكلاسات الجاهزة لإستيعاب الفكرة العامة عن طريق

phpClasses

نعم أقصد SESSION و COOKIES.

أما بالنسبة للفرق بين Tabs الـSpace

فالتاب يقوم بترتيب الصفحة البرمجية أكثر . حيث أن تاب واحدة تساوي أربع space .والهدف من التاب هو السرعة في الترتيب عوضا عن الكبس الكثير على space .

نعم يسألونك عن تطبيقاتك ..

والله الموفق

1
#5

الاخ لامارتير ديما شرحه وافى بس احب اضيف المقصود من الكلام اللى الاخت نشراه او خلينا نقول مطلبات الوظيفة

اقتباس
1. Write a curl library in php that uses the built-in php curl functions but implements them as an object-oriented class. It needn't be overly complex but should implement at least get() and post() methods, and one or two other methods that implement features of curl.

المطلوب انه يتكتب Class او library للــ CURL و تستخدمى فيها POST و GET مش شرط ان الكلاس يكون معقد يعنى بس لازم implementation للميزتين دول POST And GET

اقتباس
2. Purely conceptual; please explain what your approach would be to making some sort of SSO work with an existing CMS. There's no right or wrong answer here, but the answer should explain pitfalls and advantages to the approach.

هنا فى لبس شوية فى شرح الاخ لامارتير

اقتباس
SSO : Single Sign-on :

وهي الطريقة التي تسمح لمستخدمي الموقع بالدخول إللى الصفحات دون اعادة طلب تسجيل الدخووووووووول ..

لا مش بالظبط كده Simple Single Sign-On ديه تكنولوجي جديدة كده باستخدام الــ Ajax و بتسمح ان اعضاء موقعك يقموا بالتسجيل داخل الموقع باستخدام حسابات بمواقع اخرى

يعنى مثلا تخلى الزوار فى موقعك يسجلوا فى موقعك عن طريق اكونت الفيس بوك مثلا او اكونت الجوجل او حتى الياهو

مثال بسيط على

StackOverflow

تقدرس تسجلي دخول باستخدام اكونت الياهو او الجوجل او حتى الفيس بوك

اقتباس
What is your text editor of choice and why?

Textpad, under Ubuntu

بسيطة ديه بيتهيالى بيسئلوا على البرنامج اللى بتشتغلى عليه بس خالى بالك نظام التشغيل عندهم Ubuntu يعنى لازم تكونى بتعرفى لينكس كويس انا الحقيقة مش عارف هما بيرشحوا الــ TextPad ولا ديه اجابتك انتى ؟

عموما Eclipse افضل IDE للــ PHP و ديه اراء

اقتباس
What are your favourite desktop and server OS' and why?

ايه افضل نظام تشغيل بتفضليه ؟

اقتباس
Tabs or spaces and why?

مش فاهم السؤال ده الصراحة

اقتباس
What do you consider to be the most important trait or traits in a software developer?

ايه اهم مميزاتك بما انك مبرمجة

اقتباس
What's the coolest hack you've ever achieved?

السؤال ده جامد اوى اوى انا اتسألته قبل كده فى interview

هو بيسألك ايه اجمل عملية هاك عملتيها و الهدف من السؤال طبعا انه يعرف مستواكى فى الــ Security زائد انه يعرف لو ممكن تلعبى فى شغلك كمان

Life is not the amount of breaths you take, it's the moments that take your breath away

#6

شكرا جزيلا

لامارتير

و فؤاد عبد الرازق

بخصوص الابونتو بالفعل هذه اجابتي

وسوف يتم التطبيق والرجوع هنا لاحقا ان شاء الله

لو اتسع صدركم لاسالتي

#7

لى استفسار

كىف يمكن الرجوع بمتغيرات على سبيل المثال ارسلت شئ بواسطه الكيرل

واريد ان اعود بمتغيرات

او ان اعود بأكثر من نتيجه على سبيل المثال

اريد ان اخرج اكثر من مخرج من الكيرل

لانى عندما اريد ان افعل هذا مثلآ

$output = curl_exec($ch);

واريد ان احقق شرط

if ($output == $ip)

ينفذ الشرط

فاذا كانت ال output فى هذه الحاله تعود بحاله واحده وهى الايبى سوف يكون الامر صحيح

لكن اذا كانت تعود بأكثر من شئ فلن يمكننى تنفيذ الشرط من اساسه لانه يخرج اكثر من شئ فلذلك لن يعود بالايبى فقد وسووف تكون نتيجه الشرط خطأ

هل يوجد طريقه ؟

تم تعديل هذه المشاركة بواسطة aldesha989 في 8 أكتوبر 2011 في 16:54

#8

هذا الموضوع مخالف لقوانين المنتدى، يرجى الانتباه، لولا وجود كم جيد من المشاركات فيه لقمت بغلقه.

يرجى مراجعة قواعد المشاركة.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9
aldesha989 كتب:

لى استفسار

كىف يمكن الرجوع بمتغيرات على سبيل المثال ارسلت شئ بواسطه الكيرل

واريد ان اعود بمتغيرات

او ان اعود بأكثر من نتيجه على سبيل المثال

اريد ان اخرج اكثر من مخرج من الكيرل

لانى عندما اريد ان افعل هذا مثلآ

$output = curl_exec($ch);

واريد ان احقق شرط

if ($output == $ip)

ينفذ الشرط

فاذا كانت ال output فى هذه الحاله تعود بحاله واحده وهى الايبى سوف يكون الامر صحيح

لكن اذا كانت تعود بأكثر من شئ فلن يمكننى تنفيذ الشرط من اساسه لانه يخرج اكثر من شئ فلذلك لن يعود بالايبى فقد وسووف تكون نتيجه الشرط خطأ

هل يوجد طريقه ؟

لازم حضرتك تعمل Custom API خاصة بالموقع ده درس جميل اوى و سهل بيشرح كيفية عمل API

Create Your Own API

1

Life is not the amount of breaths you take, it's the moments that take your breath away

#10
فؤاد عبد الرازق كتب:

لازم حضرتك تعمل Custom API خاصة بالموقع ده درس جميل اوى و سهل بيشرح كيفية عمل API

Create Your Own API

تسلم الله يكرمك انا فعلآ كنت محتاج ال api لكن كنت سايبه بوقته تسلم يا جميل

مواضيع مشابهة