Introduction to php
What we'll cover
- पीएचपी का एक छोटा इतिहास
- पदच्छेद
- चर
- Arrays
- ऑपरेटर्स
- कार्य
- नियंत्रण संरचनाएं
- बाहरी डेटा फ़ाइलें
Background
PHP is server side scripting system
- PHP "PHP: हाइपरटेक्स्ट प्रीप्रोसेसर" के लिए खड़ा है
- पर्ल, जावा और सी पर आधारित सिंटेक्स
- गतिशील सामग्री बनाने के लिए बहुत अच्छा
- शक्तिशाली, लेकिन कुछ हद तक जोखिम भरा!
- अगर आप डायनामिक सामग्री के लिए एक सिस्टम पर फ़ोकस करना चाहते हैं, तो यह चुनना अच्छा है
History
- पर्सल के रूप में शुरू किया गया था 1994 Rasmus Lerdorf द्वारा (अपने को फिर से शुरू करने के लिए संभाल), PHP / FI 2.0 के लिए विकसित
- जीवी सुरसकी और एंडी गुटमंस द्वारा एक नया पार्सर इंजन के साथ 1997 तक PHP 3.0 तक
- संस्करण 5.2.4 वर्तमान संस्करण है, ज़ेड (www.zend.com) द्वारा कई विशेषताओं को शामिल करने के लिए लिखा गया है, जैसे कि ऑब्जेक्ट मॉडल
- वर्तमान संस्करण 5 है
- php एक खुला स्रोत परियोजना क्या हो सकता है के प्रमुख उदाहरणों में से एक है
About Zend
- एक वाणिज्यिक उद्यम
- जेड मुफ्त में PHP के लिए ज़ेंड इंजन प्रदान करता है
- वे शुल्क के लिए अन्य उत्पाद और सेवाएं प्रदान करते हैं
- सर्वर साइड कैशिंग और अन्य अनुकूलन
- स्रोत कोड की सुरक्षा के लिए ज़ेंड के मध्यवर्ती प्रारूप में एन्कोडिंग
- आईडीई-जीवन के लिए आसान बनाने के लिए उपकरणों के साथ एक डेवलपर का पैकेज
- सहायता और प्रशिक्षण सेवाएं
- ज़ेंड की वेबसाइट एक महान संसाधन है
PHP 5 Architecture
- पेडर के रूप में ज़ेंड इंजन (एंडी गुटमंस और ज़ीव सुरस्की)
- एसएपीआई एक वेब सर्वर अमूर्त परत है
- PHP घटक अब स्वयं निहित (ओडीबीसी, जावा, एलडीएपी, आदि)
- यह संरचना सॉफ्टवेयर के लिए एक अच्छा सामान्य डिज़ाइन है (ओएसआई मॉडल और मिडलवेयर अनुप्रयोगों की तुलना में)
PHP Scripts
- आमतौर पर फ़ाइल को .php में समाप्त होता है - यह वेब सर्वर कॉन्फ़िगरेशन द्वारा सेट किया जाता है
- <? Php?> टैग के साथ फाइल में अलग
- php कमांड एक संपूर्ण फाइल बना सकते हैं, या html में शामिल किया जा सकता है - यह एक विकल्प है
- कार्यक्रम पंक्तियां अंत में ";" या आपको एक त्रुटि मिलती है
- सर्वर एम्बेडेड स्क्रिप्ट को पहचानता है और निष्पादित करता है
- परिणाम ब्राउज़र को पारित कर दिया जाता है, स्रोत दृश्यमान नहीं है
<P>
<?php $myvar = "Hello World!";
echo $myvar;
?>
</P>
Parsing
- हमने इस बारे में बात की है कि ब्राउज़र एक पाठ फ़ाइल कैसे पढ़ सकता है और उसे कैसे संसाधित करता है, यह एक बुनियादी पार्सिंग विधि है
- पार्सिंग में फ़ाइल के प्रासंगिक भाग पर अभिनय करना और दूसरों की अनदेखी करना शामिल है
- ब्राउज़र लोड होने पर वे वेब पृष्ठों को पार्स करते हैं
- वेब सर्वर जैसे सर्वर साइड टेक्नोलॉजीज जैसे पीएचपी पार्स वेब पेज्स के रूप में वे ब्राउजर से बाहर निकल रहे हैं
- पार्सिंग काम का प्रतिनिधित्व करती है, इसलिए एक लागत है
Two Ways
- आप एचटीएमएल के अंदर PHP के वर्गों को एम्बेड कर सकते हैं
<BODY>
<P>
<?php $myvar = "Hello World!";
echo $myvar;
</BODY>
- या आप php से html कॉल कर सकते हैं
<?php
echo "<html><head><title>Howdy</title>
…
?>
What do we know already?
- हम जो जावास्क्रिप्ट के बारे में सीखा है, उनमें से ज्यादातर PHP में हैं (लेकिन सभी नहीं!), और अन्य भाषाओं में भी
$name = "bil";
echo "Howdy, my name is $name";
echo "What will $name be in this line?";
echo 'What will $name be in this line?';
echo 'What's wrong with this line?';
if ($name == "bil")
{
// Hey, what's this?
echo "got a match!";
}
Variables
- संदर्भ द्वारा टाइप किया गया (लेकिन एक प्रकार को बल दे सकता है), इसलिए यह ढीली है
- "$" से शुरू करें (जावास्क्रिप्ट के विपरीत!)
- मूल्य द्वारा असाइन किया गया
–$foo = "Bob"; $bar = $foo;
- संदर्भ द्वारा सौंपा, यह लिंक वार्स
–$bar = &$foo;
- कुछ को पहले से नियुक्त किया गया है, सर्वर और एंव वर्क्स - उदाहरण के लिए, PHP वर्क्स हैं, उदा PHP_SELF, HTTP_GET_VARS
phpinfo()
- Phpinfo () फ़ंक्शन php पर्यावरण दिखाता है
- इसका प्रयोग सिस्टम और सर्वर चर को पढ़ने के लिए, php.ini, संस्करणों और मॉड्यूल में संग्रहीत करने के लिए करें
- ध्यान दें कि इनमें से कई डेटा सरणी में हैं
- यह आपको लिखने वाली पहली स्क्रिप्ट है
Variable Variables
- किसी दूसरे चर के नाम के रूप में एक वैरिएबल के मान का उपयोग करना)
$a = "hello";
$$a = "world";
- इस प्रकार
echo "$a ${$a}";
- के समान है
echo "$a $hello";
- लेकिन $ $ एक प्रतिध्वनि "$ हैलो" के रूप में ...।
Operators
- अंकगणित (+, -, *, /,%) और स्ट्रिंग (।)
- असाइनमेंट (=) और संयुक्त असाइनमेंट
$a = 3;
$a += 5; // sets $a to 8;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!";
- बिटवर्ड (&, |, ^, ~, <<, >>)
– $a ^ $b(Xor: Bits that are set in $a or $b but not
both are set.)
– ~ $a (Not: Bits that are set in $a are not set,
and vice versa.)
- तुलना (==, ===,! =,! ==, <,>, <=,> =)
Coercion
- बस जावास्क्रिप्ट की तरह, php ढीले से टाइप किया जाता है
- जबरन उसी तरह होता है
- यदि आप एक संख्या और स्ट्रिंग को जोड़ते हैं, तो संख्या बोटा स्ट्रिंग
Operators: The Movie
- Error नियंत्रण (@)
जब यह एक आदेश से पहले होता है, उत्पन्न त्रुटियों को अनदेखा कर दिया जाता है (कस्टम संदेशों की अनुमति देता है)
- निष्पादन (`shell_exec () फ़ंक्शन के समान है)
आप निष्पादन के लिए शेल को एक स्ट्रिंग दे सकते हैं
$output = `ls -al`;
$output = shell_exec("ls -al");
उपयोगकर्ता सेट वेरिएबल्स के बारे में सावधान रहने का यह एक कारण है!
- Incrementing / decrementing
++$a (Increments by one, then returns $a.)
$a++ (Returns $a, then increments $a by one.)
--$a (Decrements $a by one, then returns $a.)
$a-- (Returns $a, then decrements $a by one.)
Son of the Valley of Operators
- Logical
$a and $b And True if both $a and $b are true.
$a or $b Or True if either $a or $b is true.
$a xor $b Xor True if either $a or $b is true,
but not both.
! $a Not True if $a is not true.
$a && $b And True if both $a and $b are true.
$a || $b Or True if either $a or $b is true.
- दो और और दोनों के अलग-अलग प्राथमिकता नियम हैं, "और" और "या" "&&" और "||" की तुलना में निम्न प्राथमिकता है
- पूर्वकाल की समस्याओं को हल करने के लिए या बस स्पष्ट होने के लिए कोष्ठकों का उपयोग करें
Control Structures
- व्यापक विविधता उपलब्ध है
– if, else, elseif
– while, do-while
– for, foreach
– break, continue, switch
– require, include, require_once,
include_once
Control Structures
- हम पहले से ही जावास्क्रिप्ट में जो भी कवर किया है उसके समानांतर
- if, elseif, अन्य, जबकि, के लिए, foreach, तोड़ और जारी रखें
Switch
- स्विच, जो हमने देखा है, बहुत उपयोगी है
- ये दोनों एक ही काम करते हैं ...
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1) {
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
}
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
Nesting Files
- अपेक्षित (), शामिल करें (), include_once (), require_once () एक बाहरी फ़ाइल लाने के लिए उपयोग किया जाता है
- यह आपको अनेक पृष्ठों में कोड का एक ही भाग का उपयोग करने देता है या अन्य प्रकार की फ़ाइलों को आपके प्रोग्राम में पढ़ सकता है
- इन्हें कहीं भी उपयोगकर्ता इनपुट के करीब का उपयोग करने का सावधान रहें - अगर एक हैकर फाइल को शामिल करने के लिए निर्दिष्ट कर सकता है, तो वह फ़ाइल आपकी स्क्रिप्ट में निष्पादित हो जाएगी, आपकी स्क्रिप्ट के अधिकार के साथ (readfile एक अच्छा विकल्प है यदि आप बस फ़ाइल चाहते हैं , लेकिन इसे निष्पादित करने की आवश्यकता नहीं है)
- हाँ, वर्जीनिया, रिमोट फाइलों को निर्दिष्ट किया जा सकता है
Example: A Dynamic Table
- मैं html तालिकाओं को लिखना नफरत करता हूँ
- आप एक PHP में बना सकते हैं
- यह उदाहरण चित्रों का उपयोग करता है और एक स्तंभ में चित्रों के साथ एक तालिका बना देता है, और दूसरे में कैप्शन
- कैप्शन को पाठ फ़ाइलों से खींचा जाता है
- मैं तालिकाओं का उपयोग कर रहा हूँ, लेकिन आप आसानी से प्लेसमेंट के लिए सीएसएस का इस्तेमाल कर सकते हैं ...
Arrays
- आप सरणी फ़ंक्शन के साथ एक सरणी बना सकते हैं, या विस्फोट फ़ंक्शन का उपयोग कर सकते हैं (वेब प्रोग्राम्स में फ़ाइलें पढ़ते समय यह बहुत उपयोगी है ...)
$my_array = array(1, 2, 3, 4, 5);
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
- एक सरणी केवल एक चर वाली एक कुंजीबद्ध सूची का प्रतिनिधित्व करती है
- मूल्यों या चर की सूची
- यदि कोई वैरिएबल है, तो वह भी एक सरणी हो सकता है
- सूची में प्रत्येक चर एक कुंजी है
- कुंजी एक संख्या या एक पाठ लेबल हो सकती है
Arrays
- Arrays सूचियों, या सूचियों की सूचियों, या सूचियों की सूचियों की सूची है, आपको यह विचार मिलता है - Arrays बहुआयामी हो सकते हैं
- सरणी तत्वों को किसी भी संख्या से या नाम (स्ट्रिंग्स) द्वारा संबोधित किया जा सकता है
- यदि आप किसी सरणी की संरचना देखना चाहते हैं, तो प्रिंट टैग को पूर्व टैग के अंदर सरणी प्रिंट करने के लिए print_r फ़ंक्शन का उपयोग करें
Text versus Keys
- पाठ की चाबियाँ संख्या की तरह काम करती हैं (अच्छी तरह से, वास्तव में, यह दूसरी तरफ है - नंबर कीज़ केवल लेबल हैं)
- आप असाइन और उन्हें उसी तरह कॉल करते हैं, सिवाय आपको लेबल को असाइन करना पड़ता है मान या चर, जैसे: "$ my_text_array [तीसरा]" गूंज;
$my_text_array = array(first=>1, second=>2, third=>3);
echo "<pre>";
print_r($my_text_array);
echo "</pre>";
Walking Arrays
- किसी लूप का उपयोग करें, उदाहरण के लिए एक फोरश लूप, एक सरणी के माध्यम से चलना
- जबकि छोर भी संख्यात्मक कुंजी के साथ arrays के लिए काम करते हैं - बस के लिए एक चर सेटलूप, और लूप के भीतर उस वेरिएबल को बढ़ाना सुनिश्चित करें
$colors = array('red', 'blue', 'green', 'yellow');
foreach ($colors as $color) {
echo "Do you like $color?\n";
}
05_arrays. php
- आप सीधे सरणी को गूंज नहीं कर सकते ...
- आप लाइन द्वारा एक गूंज या प्रिंट () लाइन के माध्यम से चल सकते हैं
- - आप print_r () का उपयोग कर सकते हैं, यह आपको जटिल सरणियों की संरचना दिखाएगा - ये आउटपुट सही है, और यह एक सरणी की संरचना सीखने के लिए आसान है
Array
(
[1] => Array
(
[sku] => A13412
[quantity] => 10
[item] => Whirly Widgets
[price] => .50
)
[2] => Array
(
[sku] => A43214
[quantity] => 142
[item] => Widget Nuts
[price] => .05
)
Multidimensional Arrays
- एक एक आयामी सरणी एक सूची है, एक स्प्रैडशीट या अन्य स्तंभ डेटा दो आयामी है ...
- असल में, आप सरणी की सरणी बना सकते हैं
$multiD = array
(
"fruits" => array("myfavorite" => "orange", "yuck" => "banana", "yum" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
- संरचना को सरणी से सरणी बनाया जा सकता है, या एक एकल कथन के साथ घोषित किया जा सकता है
- घोंसले के शिकार द्वारा आप व्यक्तिगत तत्वों को संदर्भित कर सकते हैं
echo "<p>Yes, we have no " . $multiD["fruits"]["yuck"] . " (ok by me).</p>";
- प्रिंट_आर () संपूर्ण संरचना दिखाएगा, लेकिन पूर्व टैग को मत भूलना
Getting Data into arrays
- आप सीधे सरेंडर के माध्यम से व्यक्तिगत सरणी स्लॉट में डेटा पढ़ सकते हैं
$pieces[5] = "poulet resistance";
- एक फ़ाइल से:
एक सीमांकित फ़ाइल को पढ़ने के लिए फ़ाइल कमांड का उपयोग करें (सीमांकक किसी भी अद्वितीय वर्ण हो सकता है): $ pizza = file (./ our_pizzas.txt)
किसी लूप में एक पंक्ति से एक सरणी बनाने के लिए विस्फोट का प्रयोग करें: $ pieces = विस्फोट ("", $ pizza);
The Surface
- पीएचपी की शक्ति कार्यों के धन में आंशिक रूप से आती है- उदाहरण के लिए, 40 + सरणी फ़ंक्शंस
- array_flip () मूल्यों के लिए स्वैप कुंजी
- array_count_values () एक साहचर्य सरणी देता है
- एक सरणी में सभी मानों का, और उनकी आवृत्ति
- array_rand () एक यादृच्छिक तत्व खींचती है
- सरणी_अंक () डुप्पी को निकालता है
- सरणी_वॉक () एक एरे के प्रत्येक तत्व में एक उपयोगकर्ता परिभाषित फ़ंक्शन लागू करता है (ताकि आप सभी डेटासेट पा सकते हैं)
- गिनती () एक सरणी में तत्वों की संख्या देता है
- array_search () में पहले मैच के लिए कुंजी देता है
Using External Data
- आप एक PHP स्क्रिप्ट में सिर्फ जानकारी के साथ डायनामिक पेज बना सकते हैं
- लेकिन जहां php shines बाह्य डेटा स्रोतों के बाहर भवन निर्माण में है, ताकि वेब पेज बदल जब डेटा करता है
- अधिकांश समय, लोग बैकएंड के रूप में MySQL जैसे एक डाटाबेस के बारे में सोचते हैं, लेकिन आप पाठ या अन्य फाइलों, एलडीएपी, बहुत ज्यादा कुछ भी उपयोग कर सकते हैं ...।
Standard data files
- आम तौर पर आप एक टैब सीमांकित फ़ाइल का उपयोग करते हैं, लेकिन आप एक सीमांकक के रूप में बहुत कुछ उपयोग कर सकते हैं
- फ़ाइलों को सरणियों के रूप में पढ़ा जाता है, एक पंक्ति प्रति स्लॉट
- याद रखें कि प्रत्येक पंक्ति को \ n में समाप्त होता है, आपको इसे साफ करना चाहिए, और सफेद स्थान के बारे में सावधान रहना चाहिए
- एक बार फ़ाइल पढ़ी जाने के बाद, आप एक बार में एक बार, एक लूप में, फ़ील्ड में पंक्तियों को तोड़ने के लिए विस्फोट का उपयोग कर सकते हैं ...।
Standard data files
- आप सफेद स्थान को साफ करने के लिए ट्रिम () का उपयोग कर सकते हैं और str_replace () के बजाय रिटर्न कर सकते हैं
- ध्यान दें कि यह सरणी का सरणी बना रहा है
$items=fifile("./mydata.txt");
foreach ($items as $line)
{
$line = str_replace("\n", "", $line);
$line = explode("\t", $line);
// do something with $line array
}
Useful string functions
- str _ replace()
- trim(), ltrim(), rtrim()
- implode(), explode()
- addslashes(), stripslashes()
- htmlentities(), html_entity_decode(), htmlspecialchars()
- striptags()
06_more_arrays .php
- यह एक पाठ फ़ाइल को पढ़ने और संसाधित करने के लिए एक सरल स्क्रिप्ट है
- डेटा फ़ाइल टैब को सीमांकित और फ़ाइल शीर्षक के रूप में फ़ाइल की पहली पंक्ति के रूप में है
How it works
- स्क्रिप्ट अगली पंक्तियों के लिए पाठ लेबल बनाने के लिए पहली पंक्ति का उपयोग करता है, ताकि सरणी तत्वों को पाठ लेबल के द्वारा बुलाया जा सके
अगर आप एक नया कॉलम जोड़ते हैं, तो यह स्क्रिप्ट मुआवजा देता है
पाठ आधारित एरेज़ स्थिति पर निर्भर नहीं हैं ..
यह स्क्रिप्ट एक अच्छा समारोह का आधार हो सकता है
- इसके दो संस्करण हैं, दो अलग-अलग डेटाफाइल कहलाते हैं, लेकिन यह केवल एक ही है
06 a_more_arrays. php
- यह संस्करण HTML आउटपुट में एक तालिका को गतिशील रूप से कैसे तैयार करता है
Alternative syntax
- अगर, के लिए, के लिए, foreach, और स्विच पर लागू होता है
- एक बृहदान्त्र के लिए उद्घाटन ब्रेस बदलें
- एक endxxx कथन को समापन ब्रेस बदलें
<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>
<?php
if ($a == 5):
echo "a equals 5";
echo "...";
else:
echo "a is not 5";
endif;
?>
nice notes bhai
ReplyDelete