دسته بندي ها

جستجو

لينک هاي روزانه

جعبه پیام




امکانات


آرشيو

خبرنامه

آمار

آنلاین : 1
بازدید امروز : 3
بازدید دیروز : 5
بازدید هفته گذشته : 8
بازدید ماه گذشته : 79
بازدید سال گذشته : 1173
کل بازدید : 5709
 
براي اتصال طراحی وب سایت يک آرايه به Repeater يک سايت جديد ايجاد کنيد و فضاي نام :

using System.Collections;
رو به صفحه خودتون اضافه کنيد و ابزار Repeater رو قرار بديد و در قسمت source براي Repeater
 خودتون يک ItemTemplate اضافه کنيد :
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# Container.DataItem %><br />
</ItemTemplate>
</asp:Repeater>
و کد زير رو در قسمت pageload قرار بديد :

if (!Page.IsPostBack)
{
//create an array list
ArrayList arrList = new ArrayList();

arrList.Add("One");
arrList.Add("Two");
arrList.Add("Three");
arrList.Add("Four");

Repeater1.DataSource = arrList;
Repeater1.DataBind();
}
Home » #C • ابزارهاي ASP.NET » اعتبار سنجي چک باکس با CustomValidator
اعتبار سنجي چک باکس با CustomValidator نوشته شده توسط مصطفي#C, ابزارهاي ASP.NET ?? بهمن ????
به صورت پيش فرض ابزاري براي اعتبار سنجي چک باکس وجود ندارد . با اين حال ممکن است شما گاهي
 اوقات احتياج به اين کار داشته باشيد مانند زماني که کاربر مي خواهد فرم ثبت نام را پر کند و در انتها بايد  
تيک چک باکس مربوط به قوانين سايت را هم بزند .

براي اين کار يک پروژه جديد ايجاد کنيد و يک چک باکس ، Button ، CustomValidator و يک ValidationSummary براي 
نمايش ارور به فرم اضافه کنيد .

در قسمت properties مربوط به CustomValidator يک ErrorMessage وارد کنيد .

حالا روي CustomValidator دو بار کليک کنيد تا وارد رويداد طراحی وب سایت ServerValidate بشيد و سپس 
کد زير را در اين رويداد قرار داديد :


protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
//determine if CheckBox1 is checked or not, if it is validate it, else don't
if (CheckBox1.Checked)
args.IsValid = true;
else
args.IsValid = false;
}
پروژه رو اجرا کنيد و نتيجه کار رو ببينيد .
اتصال ArrayList به Repeater نوشته شده توسط مصطفي#C, ASP.NET ?? مرداد ????
براي اتصال يک آرايه به Repeater يک سايت جديد ايجاد کنيد و فضاي نام :


using System.Collections;
رو به صفحه خودتون اضافه کنيد و ابزار Repeater رو قرار بديد و در قسمت source براي Repeater
خودتون يک ItemTemplate اضافه کنيد :

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# Container.DataItem %><br />
</ItemTemplate>
</asp:Repeater>
و کد زير رو در قسمت pageload قرار بديد :


if (!Page.IsPostBack)
{
//create an array list
ArrayList arrList = new ArrayList();

arrList.Add("One");
arrList.Add("Two");
arrList.Add("Three");
arrList.Add("Four");

Repeater1.DataSource = arrList;
Repeater1.DataBind();
}
نوشته شده در سه شنبه 16 مهر 1392 ساعت 13:17 توسط : raya | دسته : | 71 بازدید
  • []

  • آشنايي با گزينشگرها – selector – در CSS
    در اين آموزش با گزينشگرها - css selector - در CSS آشنا خواهيم شد .
    گزينشگر ها يکي از مهمترين اجزاء يک دستور CSS هستند که تسلط و آشنايي با آنها مي تواند در بهينه تر
     نمودن کدهاي CSS و همچنين افزايش کنترل بر اجزاء وب سايت توسط CSS کمک کند . 
    در اين آموزش با گزينشگرها در CSS آشنا خواهيم شد . استفاده ترکيبي از اين گزينشگرها رابطه مستقيمي با 
    خلاقيت يک طراحی وب سايت دارد . گزينشگرها مانند ابزاري هستند که استفاده مفيد و مناسب از آنها بستگي 
    به تسلط و خلاقيت استفاده کننده دارد . 
    به دليل پيوستگي مطالب اين مجموعه در يک پست منتشر شده است . اميدوارم طولاني بودن آن موجب نخواندن آن نشود .

    با نظرات و پيشنهادات خود در مورد اين مطلب و همچنين روند کلي حرکت اين وبلاگ ما را در افزايش کيفيت مطالب 
    و همچنين حرکت در مسير درست ياري نمائيد – با تشکر


    توصيه مي شود مطلب بررسي موقعيت عناصر در يک سند HTML را قبل از خواندن اين مطلب مطالعه نمائيد

    گزينشگر نوع – Type selectors
    گزينشگر هاي نوع يکي از ساده ترين نوع گزينشگر ها هستند که کاربرد زيادي نيز دارند . با استفاده از اين گزينشگر ها
    مي توانيد کليه عناصر HTML را بدون در نظر گرفتن موقعيت عنصر در نمودار درختي يک سند گزينش نمائيد . به طور مثال


    em {color: blue; }
    با استفاده از اين گزينشگر مي توانيد کليه عناصر em را در صفحه گزينش نمائيد . با توجه به نمودار درختي سند
    مشاهده خواهيد نمود که گزينش با محل قرارگيري عنصر در سندHTML رابطه اي ندارد .

    css selector webtarget.ir

    بسياري از عناصر را مي توان با استفاده از گزينشگرهاي نوع گزينش نمود . مي توانيد براي بسياري از عناصر با
     استفاده از گزينشگر نوع دستور CSS بنويسيد .

    گزينشگر class – Class selectors
    معرفي

    در حالي که گزينشگر هاي نوع هر نمونه اي از يک عنصر را مورد هدف قرار مي دهند گزينشگرهاي class مي توانند
     هر عنصري از يک سند را که داراي خصوصيت class است ، بدون در نظر گرفتن موقعيت عنصر در سند HTML گزينش کنند .

    فلسفه استفاده از class در گزينش عناصر در صفحه گزينش يک مجموعه از عناصر با يک خصوصيت يکسان است
    که در قالب يک class قرار مي گيرند . استفاده مناسب از class ها مي تواند تاثير بسيار زيادي در بهينه سازي
     کدهاي CSS و افزايش کنترل بر روي وب سايت داشته باشد . افزايش توانايي با تجربه و تمرين به وجود خواهد آمد .

    <body>
    <p class="big">This is some <em>text</em></p>
    <p>This is some text</p>
    <ul>
    <li class="big">List item</li>
    <li>List item</li>
    <li>List <em>item</em></li>
    </ul>
    </body>
    css selector webtarget.ir

    به طور مثال براي گزينش دو نمونه از عناصر در يک سند HTML که در زير خواهيد ديد از class استفاده شده است . 
    ملاحظه خواهيد نمود که اين نوع از گزينش ارتباطي با موقعيت عناصر گزينش شده در سند نخواهد داشت .


    .big { font-size: 110%; font-weight: bold; }
    ترکيب گزينش class و نوع

    با استفاده از ترکيب گزينش به وسيله نوع و class مي توانيد به گزينش هاي دقيق تري رسيد. مي توانيد نمونه هاي 
    از اين نوع از گزينش را در مثال زير ملاحظه نمائيد .

    در اين مثال يک class براي دو عنصر متفاوت تعيين شده است . با استفاده از اين class اندازه سايز فونت براي دو عنصر
    با class يکسان تعيين شده است . اما با توجه به اينکه مي خواهيم فقط ضخامت فونت عنصر p را افزايش دهيم نياز
     به گزينشگر دقيق تري احساس خواهد شد . با استفاده از نوع عنصر و class مي توانيد گزينش دقيقتري را انجام دهيد .


    .big { font-size: 110%; } /* affects p and li */
    p.big { font-weight: bold; }/* affects p only */
    ترکيب چندگانه class ها

    يکي از مهمترين مزاياي استفاده از class براي گزينش عناصر HTML استفاده از چند class براي يک عنصر HTML است .
    class هاي چندگانه مي تواند کاربردهاي بسيار زيادي در گزينش عناصر داشته باشد . به طور مثال شما مي خواهيد با 
    استفاده از دو class يک عنصر را گزينش نمائيد .هر کدام از اينطراحی وب سايتگزينش ها يک خصويت style خاص
     را به عنصر HTML اضافه 
    خواهند کرد .

    <p class="big indent">

    .big { font-weight: bold; }
    .indent { padding-left: 2em; }
    کلاسها جايگزين عناصر HTML نيستند

    کلاسها ابزارهاي بسيار قدرتمندي براي گزينش عناصر هستند . اما استفاده از class ها براي تغيير عناصر به 
    کاربري هاي متفاوت با تعريف آن عنصر توصيه نمي شود .
    در مثال زير ملاحظه مي نمائيد که سعي شده است نحوه نمايش محتويات يک عنصر divهمانند يک عنصر heading تغيير
     داده شود . به طور استاندارد بهتر است از هر عنصر با توجه به تعريف آن عنصر استفاده شود .

    استفاده نا مناسب از عناصر HTML در موقعيت غير استاندارد مي تواند نحوه وب سايت شما را در مرورگرهايي که CSS
     را تشخيص نمي دهند و يا اينکه به دلايلي از CSS استفاده نمي کنند .در اين مثال بدون وجود CSS يک عنصر div مشابهتي 
    با يک عنصر heading نخواهد داشت .

    <div class="heading">Heading here</div>

    .heading
    {
    font-weight: bold;
    font-size: 140%;
    color: #600;
    }
    در مثالهاي زير نحوه استفاده صحيح از عناصر را در اين مثال خواهيد ديد .

    <h2>Heading here</h2>

    h2
    {
    font-weight: bold; /* should not really be required */
    font-size: 140%;
    color: #600;
    }
    و اگر شما نياز به يک heading با مشخصات خاص داريد مي توانيد به وسيله class گزينش دقيقتري بر روي آن انجام دهيد .

    <h2 class="sidenav">Heading here</h2>

    h2.sidenav
    {
    font-weight: bold;
    font-size: 140%;
    color: #600;
    }
    کلاسهاي اضافي را حذف کنيد

    در صورت عدم توجه استفاده از class ها گاهي بسيار افراطي و بدون استفاده خواهد شد . به طور مثال براي
     گزينش عناصر زير مجموع يک عنصر div کافيست که شما با استفاده از class اين عنصر div را مورد هدف قرار دهيد
     و گزينش هاي ديگر را با استفاده از گزينشگر هاي نسلي که در ادامه خواهيد خواند مورد هدف قرار دهيد .اما همين
     کار را مي توان به اشتباه با تعداد زيادي از class هاي افراطي و بدون استفاده نيز انجام داد .
    <div class="sidenav">
    <h2 class="sideheading">Site navigation></h2>
    <ul class="sidelist">
    <li class="sideitem">List item</li>
    <li class="sideitem"><a href="#"><span class="sidelink">List item</span></a></li>
    <li class="sideitem">List item</li>
    </ul>
    </div>
    اين يک نمونه اشتباه در کد نويس است و ميتوانيد اين شيوه را به صورت زير اصلاح نمائيد .

    <div class="sidenav">
    <h2>Site navigation</h2>
    <ul>
    <li>List item</li>
    <li><a href="#">List item</a></li>
    <li>List item</li>
    </ul>
    </div>
    دستورات CSS براي اين نحوه صحيح کد نويسي به شکل زير خواهند بود . در اين نوع از گزينش از ترکيب class و نوع
     عنصر استفاده شده است .

    div.sidenav { blah } /* styles overall div */
    div.sidenav h2 { blah } /* styles h2 within the div */
    div.sidenav ul { blah } /* styles ul within the div */
    div.sidenav li { blah } /* styles li within the div */
    div.sidenav li a { blah } /* styles a within li within the div */
    قبل از اينکه از class استفاده نمائيد فکر کنيد

    قبل از اينکه براي گزينش يک عنصر در سند HTML به آن class اضافه نمائيد سوالات زير را از خود بپيرسيد :

    آيا مي توان از نوع عنصر براي گزينش آن استفاده نمود ؟
    آيا مي توان از class و يا ID عناصر والدين و يا جد براي کنترل اين عنصر استفاده نمود ؟
    در صورتي که جواب ها منفي بودند مي تواند با خيال آسوده از class براي کنترل عنصر استفاده نمائيد .

    گزينشگر ID – ID selectors
    گزينشگرهاي ID مشابه گزينشگرهاي class هستند . گزينش گر ID را ميتوان براي هدف قرار دادن کليه عناصر
    HTML در يک سند که داراي ID هستند استفاده نمود . همانند گزينشگر class موقعيت عنصر در سند تاثيري در گزينش 
    مستقيم توسط ID نخواهد داشت .

    #navigation { width: 12em; color: #333; }
    div#navigation { width: 12em; color: #333; }
    مهمترين تفاوت در استفاده از گزينشگرهاي class و ID اين است که از ID مي تواند براي يک عنصر در سند HTML تعيين
    گردد و نام ID براي آن عنصر منحصر به فرد خواهد بود و از يک ID فقط يک بار در يک سند HTML استفاده خواهد شد .
     اين موضوع در مورد class کاملا متفاوت خواهد بود و از class هميشه و همه جا مي توان استفاده نمود و عناصر 
    داراي class را به راحتي به صورت گروهي گزينش نمود .

    گزينشگر نسل – Descendant selectors
    اين نوع از گزينشگر در گزينش عناصر يک سند HTML که در نمودار درختي سند جاي ميگيرند استفاده مي شود . اين نوع
     از گزينش در کنار ساير گزينشگرها اين امکان را به ما خواهد داد تا گزينش هاي دقيق تري را انجام دهيم .به طور مثال 
    براي گزينش تعداد خاصي از عناصر em در اين مثال از گزينشگرهاي نسل براي گزينش استفاده شده است .

    <body>
    <h1>Heading <em>here</em> </h1>
    <p>Lorem ipsum dolor <em>sit</em> amet.</p>
    </body>
    نمودار درختي اين اين سند HTML به صورت زير خواهد بود . عنصر -em – گزينش شده نيز در اين نمودار مشخص شده است
    .در اين مثال اگر از گزينشگر هاي نوع استفاده کنيد مي بايست تمامي عناصر em را گزينش نمائيد .

    css selector webtarget.ir

    1
    em {color: blue; }
    در صورت گزينش به وسيله گزينشگرهاي نسل شما مي تواندي گزينش دقيقتري داشته باشيد و نحوه گزينش به وسيله 
    گزينشگر نوع را بهبود دهيد .

    1
    p em {color: blue; }
    دستور گزينش در اين مثال تمامي عناصرem که در زيرمجموعه يک عنصر p قرار گرفته اند را گزينش خواهد نمود . با توجه
    به نمودار درختي اين سند ، عنصرem نسلي از عنصرp خواهد بود . با توجه به نمودار درختي متوجه خواهيد شد که 
    em در زيرمجموعه عنصر h1 گزينش نخواهد شد .

    شما مي توانيد چندين سطح از نسل هاي يک عنصرHTML را در يک نمودار درختي به وسيله گزينشگر هاي نسل 
    هدف قرار دهيد .

    <body>
    <p>Lorem ipsum dolor <em>sit</em> amet.</p>
    <ul>
    <li>item 1</li>
    <li>item 2</li>
    <li><em>item 3</em></li>
    </ul>
    </body>
    css selector webtarget.ir

    عنصر em در اين نمودار درختي دو سطح پائين تر از عنصر ul قرار گرفته است . با توجه به تعريف انجام شده مي توان
    تمامي عناصر em موجود در نسل ul را گزينش نمود .
    در اين گزينش از عنصر li استفاده نشده است و با استفاده از عنصر ul عناصر زير مجموعه اين عنصر مورد هدف قرار
    گرفته اند . در اين مثال عناصر em زير مجموعه ul مورد هدف قرار گرفته اند ولي عنصر em زير مجموعه p به صورت
     قبل باقي خواهد ماند .

    1
    ul em {color: blue; }
    گزينشگر فرزند – Child selectors
    گزينشگرهاي فرزند براي گزينش فرزند هاي مستقيم يک والدين در يک نمودار درختي از سند HTML مورد استفاده
    قرار مي گيرد .گزينشگرهاي فرزند نسل يک عنصر را گزينش نخواهند کرد و تنها فرزند مستقيم يک والدين را گزينش
     مي نمايند . به طور مثال شما مي توانيد عناصر em را که مستقيما فرزند والدين خود – div – هستند را به وسيله 
    گزينشگرهاي فرزند گزينش نمائيد . با توجه به مثال متوجه خواهيد شد که ديگر عناصر em که در نسل div قرار دارند
     مورد هدف قرار نخواهند گرفت .

    <body>
    <h1>Heading <em>text</em></h1>
    <div>
    This is some <em>text</em>
    <p>This is a paragraph of <em>text</em></p>
    </div>
    </body>
    مي توانيد نمودار درختي اين سند را ملاحظه نمائيد .

    css selector webtarget.ir

    تمامي عناصر em فرزند يک div والدين مورد هدف قرار گرفته اند و ديگر عناصر em که در نسل div قرار دارند اما
     فرزند مستقيم آن نيستند مورد هدف قرار نگرفته اند و گزينش نشده اند .

    div > em { color: blue; }

    OR

    div>em { color: blue; }
    در نوشتن دستور اين گزينش فاصله تاثيري نخواهد داشت . گزينشگرهاي فرزند در تمامي مرورگرها به غير
    از Internet Explorer 5, 5.5 and 6 به درستي پشتيباني مي شوند .

    گزينشگر کلي – Universal selectors
    گزينشگر هاي کلي براي گزينش تمامي عناصر موجود در يک سند HTML مورد استفاده قرار مي گيرد . به طور مثال با
     استفاده از دستور زير ميتواندي رنگ کليه عناصر يک سند HTML را تغيير دهيد .

    1
    * {color: blue; }
    css selector webtarget.ir

    در بعضي از موارد براي تغيير مقادير پيش فرض عناصر HTML در يک سند از اين نوع از گزينشگر استفاده مي شود .
    به طور مثال با استفاده از دستور زير ميتوانيد کليه مقادير پيش طراحی وب سايت فرض padding و margin را در يک 
    سند HTML تغيير دهيد
     و مساوي صفر قرار دهيد .


    * {padding:0;margin:0; }
    گزينشگر برادر و خواهر مجاور – Adjacent sibling selectors
    با استفاده از اين نوع گزينشگر مي توانيد عناصر خواهر و برادر ، که بلافاصله پس از يکديگر قرار مي گيرند را گزينش
    نمائيد .به طور مثال شما مي توانيد عنصر h3 را با استفاده از اين گزينشگر مورد هدف قرار دهيد . توجه نمائيد که تنها 
    عنصر h3 که دقيقا بعد از عنصر h2 قرار گرفته است مورد هدف و گزينش قرار خواهد گرفت .
    <body>
    <h2>Heading 2 <em>text</em></h2>
    <h3>Heading 3 text</h3>
    <p>This is <em>text</em> and more <strong>text</strong></p>
    </body>
    با استفاده از دستور زير مي توانيد فاصله اي را که در صورت قرار گرفتن بعد از هم عناصر heading به وجود مي آيد 
    را هدف قرار دهيد و اين فاصله را تغيير دهيد .

    css selector webtarget.ir

    1
    h2 + h3 {margin: -1em; }
    از اين نوع از گزينشگر مي توانيد در عناصر inline نيز به خوبي استفاده نمائيد .با استفاده از دستور زير و با توجه به
    نمودار سند HTML مي توانيد کليه عناصر strong را که درست بعد از عنصر em قرار ميگيرند را مورد هدف قرار دهيد .

    css selector webtarget.ir

    1
    em + strong {color: blue; }
    گزينشگرهاي برادر و خواهر مجاور در تمامي مرورگرها به غير از Internet Explorer 5, 5.5 and 6 به درستي 
    ي مي شوند .

    گزينشگر صفت – Attribute selectors
    صفت يا Attributes چيست ؟

    تمامي عناصر HTML ميتوانند داراي خواص مرتبطي باشند که صفت ناميده مي شوند . صفت ها عموما داراي مقدار هستند
     . تعداد نامحدودي از صفت ها و مقاديرشان مي توانند در يک عنصر HTML قرار گيرند و البته بايد به وسيله يک فاصله از 
    هم جدا شوند . استفاده از صفت ارتباط مستقيمي با نوع عنصر HTML نيز دارد و بسياري از صفت ها براي عناصر خاص 

    در مثال زير مي توانيد نمونه هاي متفاوتي از صفت ها را در عناصر مختلف ملاحظه نمائيد .

    Id , src , title , href , class , style

    <h1 id="section1">
    <img src="small.gif" width="100" height="100">
    <img title="mainimage" alt="main image">
    <a href="foo.htm">
    <p class="maintext">
    <form style="padding: 10px">
    گزينشگرهاي صفت با استفاده از صفت عناصر و مقدار آنها عناصر موجود در يک سند HTML را مورد هدف
     قرا مي دهند .به طور مثال با استفاده از گزينشگر صفت در مثال زير کليه عناصر img را که صفت src در آنها مساوي
     small.gif است را مورد هدف قرار مي دهيم .


    img[src="small.gif"] { border: 1px solid #000; }
    از گزينشگر هاي صفت مي توان به چهار روش زير استفاده نمود .

    گزينش به وسيله نوع صفت

    اين نوع از گزينش بر پايه نوع صفت عمل خواهد نمود . به طور مثال در نمونه زير يک عنصر img با توجه به نوع و مشخصات
     صفت هاي مرتبط مورد هدف و گزينش قرار گرفته است .

    img[title] { border: 1px solid #000; }
    img[width] { border: 1px solid #000; }
    img[alt] { border: 1px solid #000; }
    گزينش به وسيله مقدار و ارزش صفت

    .

    اين نوع از گزينش بر پايه نوع و ارزش و مقدار صفت عمل خواهد کرد . در مثال زير خواهيد ديد که يک عنصر img توسط
     گزينشگرهاي صفت مورد هدف و گزينش قرار گرفته است . در اين گزينش کليه عناصر Img داراي خصوصيت src با مقدار
     small.gif مورد هدف قرار گرفته اند .


    img[src="small.gif"] { border: 1px solid #000; }
    گزينش به وسيله جستجو در ارزش و مقدار صفت – جدا شده با فاصله

    در اين روش از گزينش به وسيله صفت مقادير مورد نظر در ارزش يک صفت جستجو مي شوند و در صورت وجود اين مقادير
     عنصر مورد نظر گزينش مي شود .در مثال زير مشاهده خواهيد نمود که مقدار small در ارزش خصوصيت alt در يک عنصر 
    img مورد بررسي قرار مي گيرد و در صورت وجود اين کلمه – small – در ارزش صفت alt عنصرimg گزينش مي شود .


    img[alt~="small"] { border: 1px solid #000; }
    توجه داشته باشيد عنصر در صورتي گزينش خواهد شد که کلمه small به صورت مجزا و همراه با فاصله نسبت به ديگر
    کلمات موجود در alt قرار گرفته باشد – small image

    گزينش به وسيله جستجو در ارزش و مقدار صفت – جدا شده با خط تيره

    در اين نوع از گزينش به مانند نمونه و مثال قبل مقدار مورد نظر در ارزش صفت جستجو مي شود . تفاوت در نحوه 
    قرار گيري مقدار در ارزش صفت است در نمونه بالا مقدار مي بايست به وسيله فاصله جدا مي شد و در اينجا مقدار 
    به وسيله خط فاصله جدا شده است .

    1
    img[title|="small"] { border: 1px solid #000; }
    در مثال بالا کلمه small در ارزش صفت alt جستجو مي شود و اين بار با يک خط فاصله از کلمات ديگر جدا شده
     است – small-image

    گزينشگرهاي صفت در تمامي مرورگرها به غير از Internet Explorer 5, 5.5 and 6 و نسخه هاي ابتدايي opera به
     درستي پشتيباني مي شوند .

    گزينش به وسيله شبه کلاسها -Pseudo-classes
    تا کنون تمامي گزينشگر هاي مورد بحث يک عنصر از نمودار درختي يک سند HTML را مورد هدف قرار داده اند . اما
    زماني رسيده است که شما مي خواهيد عناصري را مورد گزينش قرار دهيد که گزينشگري براي آنها تعريف نشده 
    است ! مانند حالت قرار گرفتن نشانه گر موس روي يک لينک . شبه کلاسها به شما اين امکان را ميدهند که عناصري 
    را که در نمودار درختي يک سند HTML تعريف نشده اند را به راحتي گزينش نمائيد و کنترل کنيد .

    :first-child
    :link
    :visited
    :hover
    :active
    :focus
    :lang(n)
    شکل دهي لينک در حالت هاي مختلف

    با استفاده از شبه کلاسهاي ميتوانيد کليه حالتهاي موجود در يک لينک را گزينش نمائيد و شکل دهي کنيد .

    a:link is the selector for normal links / يک لينک معمولي
    a:visited is the selector for visited links / يک لينک بازديد شده
    a:hover is the selector for hover state / قرار گرفتن نشانه گر موس بر روي لينک
    a:active is the selector for active links / متمرکز شدن بر روي يک لينک
    براي کنترل تمامي موارد مي توانيد از دستورات زير استفاده نمائيد .

    a {}
    a:link {}
    a:visited {}
    a:hover {}
    a:active {}
    براي ايجاد نتيجه استاندارد و بهتر ميتوانيد دستورات را به طراحی سایت صورت زير تغيير دهيد . بهتر است حالت لينک در نمايش
     a:link, a:visited و a:hover, a:active براي ايجاد نتيجه و حالت يکسان به صورت گروهي تعريف شوند .

    1
    2
    a:link, a:visited { color: blue; }
    a:hover, a:active { color: red; }
    استفاده از شکل دهي غير استاندارد مي تواند باعث سر درگم شدن کاربران وب سايت شما شود . بهتر است 
    با ايجاد تغيير در لينک ها و حتي هنگام حرکت موس بر روي آنها مخاطب را از اينکه اين يک پيوند است مطلع نمائيد .

    از شبه کلاسهاي ميتوان براي عناصري غير از لينک نيز استفاده نمود . به طور مثال با حرکت موس بر روي عنصر
    em رنگ آن تغيير خواهد نمود .

    1
    2
    em { color: blue; }
    em:hover { color: red; }
    البته استفاده از اين نوع شکل دهي ميتواند مخاطب را در تشخيص پيوندها دچار مشکلاتي نمايد .شبه کلاسها به
     وسيله تمامي مرورگها پشتيباني ميشوند . اما استفاده از اين شبه کلاسهاي براي عناصري غير از لينک در مرورگرهاي 
    Internet Explorer 5, 5.5 and 6 پشتيباني نمي شود .

    گزينش به وسيله شبه عناصر – Pseudo-elements
    شبه عناصر به شما کمک خواهند کرد تا اطلاعات خاصي که توسط نمودار درختي يک سند در دسترس شما قرار
     نمي گيرد را شکل دهي نمائيد . به طور مثال شما با استفاده از گزينشگر هاي استاندارد و معمولي نمي توانيد
     اولين حرف و يا اولين خط از يک پاراگراف را شکل دهي کنيد .

    “:first-line” and “:first-letter”

    اين دو نوع از شبه عناصر بر پايه شکل دهي سنتي متن پايه ريزي شده اند . با استفاده از اين شبه عناصر مي توانيد
     حروف اول و يا خط اول از يک متن را گزينش نمائيد و شکل دهي کنيد .

    :first-line – به شما کمک خواهد نمود تا اولين خط از يک پاراگراف را گزينش نمائيد .

    1
    p:first-line {font-weight: bold; }
    :first-letter – بهشما کمک خواهد نمود تا اولين حرف از يک پاراگراف را گزينش و کنترل نمائيد.

    1
    p:first-letter {font-size: 200%; font-weight: bold; }
    با توجه به تعريف براي شکل دهي به متن اين شبه عنصر- p:first-letter – از مقادير وخصوصيات زير پشتيباني مي کند

    • font properties
    • color properties
    • background properties
    • margin properties
    • padding properties
    • border properties
    • text-decoration
    • vertical-align only if => float:none
    • text-transform
    • line-height
    • float
    • clear
    “:before” and “:after”
    نوشته شده در سه شنبه 2 مهر 1392 ساعت 14:10 توسط : raya | دسته : | 73 بازدید
  • []

  • براي نگهداري مقادير زياد به صورت مرتب که از انعطاف خوبي هم برخوردار باشه از آرايه ها استفاده مي کنيم.آرايه ها 
    در پي اچ پي ميتونن به طراحی وب سایت  صورت هاي : آرايه ، ليست (List) ، ديکشنري (Dictionary) ،استک (Stack)، 
    صف (Queue) و … استفاده بشن.
    هر مقدار در آرايه ها ميتونن شامل آرايه ديگه هم باشه.

    براي ايجاد آرايه در پي اچ پي از کلمه کليدي array استفاده ميشه.
    مثال :

    1
    $ar = array( 'k1'=>'v1','k2'=>'v2');
    همينطور که در مثال ميبينيد هر آرايه شامل يک کليد يا key و مقدار يا value است که کليد آرايه
     فقط بايد از نوع string يا integer باشه اما مقدار ميتونه شامل هر نوع داده اي باشه.

    1
    $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
    2

    3
    echo $arr["somearray"][6]; // 5
    4
    echo $arr["somearray"][13]; // 9
    5
    echo $arr["somearray"]["a"]; // 42
    اگر براي يک مقدار کليدي در نظر گرفته نشده باشه به صورت خودکار خود پي اچ پي يک عدد به 
    عنوان کليد به هر مقدار انتساب ميده.

    1
    // This array is the same as ...
    2
    array('a' , 'b' , 'c');
    3

    4
    // ...this array
    5
    array(0=>'a' , 1=>'b' , 2=>'c');
    دو آرايه بالا دقيقن مثل هم عمل ميکنن.

    براي اضافه کردن مقادير جديد به آرايه ها به صورت زير عمل ميکنيم :

    1
    //$ar[key] = value
    2
    $ar = array('a' , 'b' , 'c');
    3
    $ar[] = 'd';
    4
    $ar[] = 'e';
    5
    $ar['name'] = 'Saeed';
    در مثال بالا ميبينيد که براي اضافه کردن مقدار جديد از براکت ([]) استفاده ميکنيم. اگر داخل 
    براکت مقداري قرار بديم به عنوان کليد در نظر گرفته ميشه. اگر از براکت خالي استفاده بشه يک عدد 
    به صورت خودکار به مقدار داده ميشه .

    تبديل مقادير مختلف به آرايه ها

    براي تبديل مقادير مختلف به آرايه به صورت زير عمل ميکنيم :
    $arr = (array) 1.2323
    که يک آرايه به صورت زير به ما ميده :
    array( [0] => 1.234444 )
    براي تبديل کلاسها هم به آرايه ميتونيم از روش بالا استفاده کنيم.هنگامي که يک کلاس رو به يک 
    آرايه تبديل ميکنيم متغيرهاي کلاس اعضاي آرايه ما رو تشکيل ميدن :

    1
    class My
    2
    {
    3
    public $a = 'a';
    4
    public $b = 'b';
    5
    }
    6
    $obj = new My();
    7
    $ar = (array)$obj;
    8
    // Array ( [a] => a [b] => b )
    دستيابي به مقادير آرايه ها

    براي پيمايش يا دستيابي به اعضاي آرايه ميتونيم از حلقه foreach استفاده کنيم.

    1
    foreach ($arr as $a)
    2
    echo $a;
    در هر بار اجراي حلقه به ترتيب از اولين عضو آرايه در متغير $a قرار ميگيره .سپس ميتونيم از اين مقدار استفاده کنيم.
    براي دسترسي همزمان به کليد و مقدار آرايه از حلقه foreach به صورت
    طراحی وب سایت 
    زير استفاده ميکنيم :

    1
    foreach ($arr as $key => $value)
    2
    echo $key .' '.$value;
    در حلقه بالا در هر بار اجراي حلقه کليد آرايه در متغير$key و مقدار در متغير $value قرار ميگيره.

    براي نمايش تمام اعضاي يک آرايه بدون استفاده از حلقه foreach ميتونيم از دستور print_r استفاده کنيم :

    1
    print_r($arr);
    از اين به بعد براي نمايش محتواي آرايه ها از اين دستور استفاده ميکنيم.

    توابع کار با آرايه ها در PHP

    در اين بخش در مورد توابع کار با آرايه ها حرف ميزنيم.سعي ميکنم مختصر و مفيد در مورد همه توابعي 
    که مربوط به آرايه ها هستن توضيح بدم.

    Array_change_key_case(Array,Case)

    اين تابع تمام کليد هاي داخل آرايه رو به حروف بزرگ يا کوچک تبديل ميکنه.
    پارامتر اول اين تابع يک ارايه ميگيره و پارامتر دوم CASE_LOWER براي تبديل به حروف کوچک و CASE_UPPER براي
     تبديل کليدها به حروف کوچک استفاده ميشن.
    مثال :

    1
    $input_array = array("FirSt" => 1, "SecOnd" => 4);
    2
    print_r(array_change_key_case($input_array, CASE_UPPER));
    خروجي

    Array
    (
    [FIRST] => 1
    [SECOND] => 4
    )

    مثال ? :

    1
    $arr = array('first'=>'Apple','Second'=>'orange');
    2
    print_r(array_change_key_case($arr, CASE_UPPER)););
    خروجي

    Array
    (
    [FIRST] => Apple
    [SECOND] => orange
    )

    در مثال دوم مشاهده ميکنيد که فقط کليدهاي آرايه به حروف بزرگ تبديل شدند.

    Array Array_combine ( Array , Array )

    اين تابع دو آرايه رو به يک آرايه تبديل مبکنه.به اين صورت که آرايه اي که در پارامتر اول بهش ميديم به عنوان 
    کليد و آرايه پارامتر دوم به عنوان مقادير آرايه جديد در نظر گرفته ميشن.
    مثال :

    1
    $a = array('green', 'red', 'yellow');
    2
    $b = array('avocado', 'apple', 'banana');
    3
    $c = array_combine($a, $b);
    4

    5
    print_r($c);
    خروجي :

    Array
    (
    [green] => avocado
    [red] => apple
    [yellow] => banana
    )

    ميبينيد که تمام مقادير آرايه اول به عنوان کليد و تمام مقادير آرايه دوم به عنوان مقدار آرايه جديد در نظر گرفته
    شدن. در صورتي که تعداد عناصر آرايه اول با آرايه دوم برابر نباشه FALSE برگشت داده ميشه.

    Array Array_count_values ( Array )

    تعداد تکرار کليدهاي يک آرايه رو به صورت يک آرايه انجمني برميگردونه.
    مثال :

    1
    $array = array(1, "hello", 1, "world", "hello");
    2
    print_r(array_count_values($array));
    خروجي

    Array
    (
    [1] => 2
    [hello] => 2
    [world] => 1
    )

    در آرايه $array عدد ? دوبار تکرار شده ، hello هم دوبار تکرار شده و world يک بار تکرار شده.خروجي اين
     تابع هم به همين صورت تعداد مقادير تکرار شده در آرايه رو برميگردونه.

    Array_diff(Array1,Array2,Array3,…)

    با استفاده از اين تابع ميتونيد يک ارايه رو با چند آرايه ديگه مقايسه کنيد.در اين تابع مقادير(values) آرايه
     اول با مقادير آرايه هاي بعدي مقابسه ميشه و value هايي که در آرايه اول باشه اما در آرايه هاي بعدي 
    نباشه برگشت داده ميشه.

    1
    $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
    2
    $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
    3
    print_r(array_diff($a1,$a2));
    خروجي

    Array ( [0] => Cat )

    Array_diff_assoc($Array1,$Array2,$Array3,…)

    مقايسه کليدها و مقادير دو يا چند آرايه.کليدها و مقادير آرايه اول با بقيه آرايه ها مقايسه ميشن و در 
    صورتي که در يک کليد و مقدار در آرايه اول بود اما در بقيه ارايه ها نبود برگشت داده ميشه.

    1
    $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
    2
    $a2=array(0=>"Rat",1=>"Horse",2=>"Dog");
    3
    $a3=array(0=>"Horse",1=>"Dog",2=>"Cat");
    4
    print_r(array_diff_assoc($a1,$a2,$a3));
    Array ( [0] => Cat [2] => Horse )

    Array_diff_key(Array1 , Array2,…)

    مقادير و کليدهاي يکيا چند آرايه رو با بقيه آرايه ها مقايسه ميکنه و درصورتي که کليدي در آرايه اول بود 
    اما در بقيه ارايه ها نبود برگشت داده ميشه.

    1
    $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
    2
    $a2=array(2=>"Bird",3=>"Rat",4=>"Fish");
    3
    $a3=array(5=>"Horse",6=>"Dog",7=>"Bird");
    4
    print_r(array_diff_key($a1,$a2,$a3));
    Array ( [0] => Cat [1] => Dog )

    Array_fill(Start , Number , Value)

    تابعي براي پر کردن يک آرايه. پارامتر اول عدد شروع کليد آرايه.پارامتر دوم تعداد عناصري که بايد به 
    آرايه اضافه بشه و پارمتر سوم مقداري که بايد به آرايه داده بشه.

    1
    $a=array_fill(2,3,"Dog");
    2
    print_r($a);
    خروجي

    Array ( [2] => Dog [3] => Dog [4] => Dog )

    کليد ارايه از ? شروع شده و ? عنصر به آرايه اضافه شده با مقدار “Dog”

    Array_flip()

    اين تابع جاي کليدها و مقادير رو عوض ميکنه.

    1
    $a=array(0=>"Dog",1=>"Cat",2=>"Horse");
    2

    3
    print_r(array_flip($a));
    Array ( [Dog] => 0

    [Cat] => 1 [Horse] => 2 )

    Array_key_exists(Key , Array)

    اين تابع چک ميکنه که آيا يک کليد خاص در آرايه وجود داره يا نه .پارامتر اول کليد رو ميگيره و پارامتر دوم آرايه

    1
    $a=array("a"=>"Dog","b"=>"Cat");
    2
    if (array_key_exists("a",$a))
    3
    {
    4
    echo "Key exists!";
    5
    }
    6
    else
    7
    {
    8
    echo "Key does not exist!";
    9
    }
    10

    11
    //Key exists!
    Array_keys(Array)

    تمام کليدهاي آرايه رو به صورت يک آرايه بر ميگردونه.

    1
    $ar = array('a'=>'Dog','b'=>'cat','c'=>'horse');
    2
    print_r(array_keys($ar));
    Array_map(Function , Array1 , Array2 , …)

    اين تابع هر مقدار از آرايه رو به يک تابع ارسال ميکنه و نتيجه تابع رو به صورت يک آرايه بر ميگردونه.
    مثال :

    1
    function sqr($v)
    2
    {
    3
    return $v * $v;
    4
    }
    5
    $ar = array(2 , 3 , 4 , 5 , 6 );
    6
    print_r(array_map('foo' , $ar));
    خروجي :

    Array ( [0] => 4 [1] => 9 [2] => 16 [3] => 25 [4] => 36 )

    در صورتي که نياز به فراخواني متد يک کلاس در تابع array_map باشيم پارامتر اول رو به صورت 
    يک آرايه تعريف ميکنيم که مقدار اول آرايه نام کلاس ومقدار دوم نام تابع مورد نظر است :
    class foo{
    function bar($a){ return $a * $a );
    }
    array_map(array('foo','bar') , $arr));

    Array_merg(Array1 , Array2 , …)

    ادغام دو يا چند آرايه باهم.

    1
    $a1=array("a"=>"Horse","b"=>"Dog");
    2
    $a2=array("c"=>"Cow","b"=>"Cat");
    3
    print_r(array_merge($a1,$a2));
    خروجي :

    Array ( [a] => Horse [b] => Cat

    => Cow )

    اگر کليد همنام در آرايه ها وجود داشته باشه کليد و مقدار آخرين آرايه در آرايه جديد قرار ميگيره .

    Array_pop(Array)

    آخرين عنصر آرايه رو حذف ميکنه .

    1
    $a=array("Dog","Cat","Horse");
    2
    array_pop($a);
    3
    print_r($a);
    Array ( [0] => Dog [1] => Cat )

    Array_product(Array)

    حاصلضرب تمام مقادير آرايه رو حساب ميکنه و بر ميگردونه .

    1
    $a=array(5,5);
    2
    echo(array_product($a));// 25
    Array_push(Array , Value1,Value2,…)

    يک يا چند مقدار جديد رو به انتهاي آرايه اضافه ميکنه.

    1
    $a=array("Dog","Cat");
    2
    array_push($a,"Horse","Bird");
    3
    print_r($a);
    Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )

    Array_rand(Array ,Number)

    به صورت تصادفي يک کليد از آرايه رو بر ميگردونه.در قسمت number اگر عددي قرار داشته باشه به همون 
    تعداد کليد هاي تصادفي از آرايه برگشت داده ميشه .

    1
    $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
    2
    print_r(array_rand($a,2));
    Array ( [0] => c [1] => b )

    Array_reduce(Array , Function , Initial)

    اين تابع مقادير يک آرايه رو به يک تابع از قبل تعريف شده ارسال ميکنه و نتيجه رو به صورت string (رشته) برميگردونه.
    initial يک مقدار جدا براي ارسال به آرايه است.

    1
    function myfunction($v1,$v2)
    2
    {
    3
    return $v1 . "-" . $v2;
    4
    }
    5
    $a=array("Dog","Cat","Horse");
    6
    print_r(array_reduce($a,"myfunction"));//-Dog-Cat-Horse
    Array_revers(Array , Preserve)

    براي عکس کردن يک آرايه از اين تابع استفاده ميشه

    Array (

    => Horse [b] => Cat [a] => Dog )

    Array_search(Value , Array , Restrict)

    جستجو در بين مقادير آرايه و برگشت دادن کليد .
    strict : اگر true باشه بين '?' و ? فرق قائل ميشه.به صورت پيش فرض false

    1
    $a=array("a"=>"5","b"=>5,"c"=>"5");
    2
    echo array_search(5,$a,true); // b
    Array_shift(Array)

    عنصر اول از آرايه رو حذف و برگشت ميده .

    1
    $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
    2
    echo array_shift($a);
    3
    print_r ($a);
    4
    // Dog
    5
    // Array ( [b] => Cat => Horse )
    Array_slice(Array, Start , Length)

    قسمتي از آرايه رو برميگردونه .

    1
    $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
    2
    print_r(array_slice($a,1,2));
    Array ( [0] => Cat [1] => Horse )

    Array_splice(Array, Start, Length, Array)

    قسمتهايي از آرايه رو حذف ميکنه و با عناصر جديد جايگزين ميکنه.و يک آرايه جديد برميگردونه.

    1
    $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
    2
    $a2=array(0=>"Tiger",1=>"Lion");
    3
    array_splice($a1,0,2,$a2);
    4
    print_r($a1);
    Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )

    Array_sum(Array)

    جمع تمام مقادير آرايه رو بر ميگردونه.

    1
    $a=array(0=>"5",1=>"15",2=>"25");
    2
    echo array_sum($a);
    // 45

    Array_unique(Array)

    مقادير (values) مشابه رو از آرايه حذف ميکنه.در صورتي که مقادير مشابه وجود داشته باشن اولين مقدار نگه داشته ميشه و بقيه مقادير مشابه حذف ميشن.

    1
    $a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
    2
    print_r(array_unique($a));
    Array ( [a] => Cat [b] => Dog )

    Array_values(Array)

    تمام مقادير(values) يک آرايه رو به صورت يک آرايه جديد برميگردونه.

    1
    $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
    2
    print_r(array_values($a));
    Array ( [0] => Cat [1] => Dog [2] => Horse )

    Array_walk(Array,Function ,Parameter…)

    تمام مقادير آرايه رو به يک تابع از پيش تعريف شده ارسال ميکنه.(مانند تابع array_map) .پارامترهاي 
    ورودي تابع تعريف شده کليدها و مقادير آرايه هستند.

    1
    function myfunction($value,$key)
    2
    {
    3
    echo "The key $key has the value $value
    4
    ";
    5
    }
    6
    $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
    7
    array_walk($a,"myfunction");
    خروجي

    The key a has the value Cat
    The key b has the value Dog
    The key c has the value Horse

    Count(Array)

    تعداد عناصر آرايه رو بر ميگردونه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2
    $result = count($people);
    3

    4
    echo $result;
    5
    // 4
    Current(Array)

    مقدار فعلي يک آرايه رو بر ميگردونه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2

    3
    echo current($people) . "
    4
    ";
    5
    // Peter
    End(Array)

    آخرين مقدار آرايه رو بر ميگردونه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2

    3
    echo current($people) . "
    4
    ";
    5
    echo end($people);
    Peter
    Cleveland

    Extract(Array, Extract_rules,Prefix)

    اين تابع يک آرايه انجمني رو به عنوان اولين پارامتر ميگيره و کليدهاي آرايه رو به متغير تبديل ميکنه. کليدهاي آرايه نام متغير و مقادير کليدها به مقدار متغير تبديل ميشن.

    1
    $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
    2
    extract($my_array);
    3
    echo "$a = $a; $b = $b; $c = $c";
    extract_rules :
    - EXTR_OVERWRITE : اگر متغير از قبل وجود داشته باشه از بين ميره و مقدار جديد داخلش قرار ميگيره
    - EXTR_SKIP : اگر متغيراز قبل وجود داشته باشه جايگزين نميشه
    - EXTR_PREFIX_SAME : درصورت همنام بودن يک پيشوند به متغير اضافه ميشه.
    - EXTR_PREFIX_ALL : به همه متغيرها يک پيشوند اختصاص داده ميشه
    - EXTR_PREFIX_INVALID : فقط به کليدهايي که نام مجاز براي متغير شدن ندارن يا کليدهاي عددي 
    يک پيشوند اضافه ميشه.
    - EXTR_IF_EXISTS : فقط اگر متغير وجود داشته باشه جايگزين ميشه
    - EXTR_PREFIX_IF_EXISTS : در صورتي که متغير از قبل موجود باشه يک پيشوند به متغير جديد اضافه ميشه.
    - EXTR_REFS : متغيرها رو به صورت reference ميسازه

    prefix : اگر EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID EXTR_PREFIX_IF_EXISTS استفاده 
    بشه پيشوندي که در اين قسمت مشخص ميشه به متغير ها داده ميشه.

    1
    $a = 'Original';
    2
    $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
    3

    4
    extract($my_array, EXTR_PREFIX_SAME, 'dup');
    5

    6
    echo "$a = $a; $b = $b; $c = $c; $dup_a = $dup_a;";
    7
    // $a = Original; $b = Dog; $c = Horse; $dup_a = Cat;
    in_array(search ,array,type)

    چک ميکنه که آبا مقدار "search" در آرايه وجود داره يا نه.اگر type برابر با true باشه نوع داده هم چک ميشه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland", 23);
    2

    3
    if (in_array("23",$people, TRUE))
    4
    {
    5
    echo "Match found
    6
    ";
    7
    }
    8
    else
    9
    {
    10
    echo "Match not found
    11
    ";
    12
    }
    13
    if (in_array("Glenn",$people, TRUE))
    14
    {
    15
    echo "Match found
    16
    ";
    17
    }
    18
    else
    19
    {
    20
    echo "Match not found
    21
    ";
    22
    }
    23

    24
    if (in_array(23,$people, TRUE))
    25
    {
    26
    echo "Match found
    27
    ";
    28
    }
    29
    else
    30
    {
    31
    echo "Match not found
    32
    ";
    33
    }
    Match not found Match found Match found

    Next(Array)

    تابع next اشاره گر رو به عنصر بعدي آرايه حرکت ميده و مقدار عنصر بعدي رو به خروجي ميفرسته.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2

    3
    echo current($people) . "
    4
    ";
    5
    echo next($people);
    Peter
    Joe

    Prev(Array)

    اشاره گر رو به عنصر قبلي آرايه جرکت ميده و به خروجي ميفرسته

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2

    3
    echo current($people) . "
    4
    ";
    5
    echo next($people) . "
    6
    ";
    7
    echo prev($people);
    Peter
    Joe
    Peter

    Range(Low,High,Step)

    تابع range يک آرايه ميسازه با بازه اي از داده ها.
    low : کمترين مقدار
    high : بيشترين مقدار
    step : مقدار زياد شدن از کم به زياد رو مشخص ميکنه.

    1
    $number = range(0,5);
    2
    print_r ($number);
    Array
    (
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    )

    Reset(Array)

    انتقال اشاره گر به اولين عنصر آرايه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2

    3
    echo current($people) . "
    4
    ";
    5
    echo next($people) . "
    6
    ";
    7

    8
    echo reset($people);
    خروجي

    Peter
    Joe
    Peter

    Shuffle(Array)

    نحوه قرار گيري عناصر داخل آرايه رو به صورت تصادفي تغيير ميده و کليدهاي جديدي به عناصر آرايه نسبت ميده.

    1
    $my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
    2

    3
    shuffle($my_array);
    4
    print_r($my_array);
    Array ( [0] => Cat [1] => Horse [2] => Dog )

    Sizeof(Array, Mode)

    تعداد عناصر ارايه رو بر ميگردونه.mode اگر ? تنظيم بشه آرايه هاي چند بعدي هم تشخيص داده ميشه.

    1
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    2
    $result = sizeof($people);
    3

    4
    echo $result;// 4
    نوشته شده در دوشنبه 18 شهريور 1392 ساعت 12:10 توسط : raya | دسته : | 75 بازدید
  • [ادامه مطلب] []

  • فرستادن Reference به متدها

    تا اين قسمت از زنگ سي‌شارپ، پارامترهايي که به متد داده طراحی وب سایت مي‌شدند همه‌گي value type بودند (مانند int يا double و…) اما علاوه بر value type شما مي‌توانيد از reference type نيز به‌عنوان پارامتر استفاده کنيد. اين‌کار به يک شيء اجازه مي‌دهد تا بتواند به يک متد فرستاده شود.

    زنگ سي‌شارپ - قسمت بيستم و چهارم


    به مثال زير توجه کنيد:
    using System;
    class MyClass
    {
    string Name;
    string Surname;
    int Age;

    // Constructor
    public MyClass(string name, string surname, int age)
    {
    Name = name;
    Surname = surname;
    Age = age;
    }

    // Return true if ob contains the same values as the invoking object.
    public bool SameAs(MyClass ob)
    {
    if (Name == ob.Name && Surname == ob.Surname && Age == ob.Age)
    return true;
    else return false;
    }

    // Make a copy of ob
    public void Copy(MyClass ob)
    {
    Name = ob.Name;
    Surname = ob.Surname;
    Age = ob.Age;
    }

    public void Show()
    {
    Console.WriteLine(" Name: {0}, Surname: {1}, Age: {2}",
    Name, Surname, Age);
    }
    }
    class PassOb
    {
    static void Main()
    {
    MyClass ob1 = new MyClass("Damon", "Salvatore", 22);
    MyClass ob2 = new MyClass("Stefan", "Salvatore", 21);

    Console.WriteLine("ob1: ");
    ob1.Show();
    Console.WriteLine("ob2: ");
    ob2.Show();

    Console.WriteLine();

    if (ob1.SameAs(ob2))
    Console.WriteLine("ob1 and ob2 have the same values.");
    else
    Console.WriteLine("ob1 and ob2 have different values.");

    // Now, make ob1 a copy of ob2
    ob1.Copy(ob2);
    Console.WriteLine();
    Console.WriteLine("ob1 after copy: ");
    ob1.Show();

    Console.WriteLine();
    if (ob1.SameAs(ob2))
    Console.WriteLine("ob1 and ob2 have the same values.");
    else
    Console.WriteLine("ob1 and ob2 have different values.");
    }
    }
    متد ()SameAs و متد ()Copy هرکدام يک Reference را به‌عنوان argument دريافت مي‌کنند (همان‌طور که مي‌دانيد Reference آدرس يک شيء در حافظه است). متد ()SameAs مقادير Name، Surname و Age را از متدي که فراخواني شده با مقادير Name، Surname و Age شيء ob که به متد داده شده است، مقايسه مي‌کند و در صورت يکسان بودن اين مقادير،true برمي‌گرداند. متد ()Copy نيز مقادير شيء ob را به مقادير شيء فراخواني‌شده اختصاص مي‌دهد. همان‌طور که مي‌بينيد به همان روشي که value type ها به متدها داده مي‌شوند، reference type ها نيز داده شده‌اند.

    از دو طريق Argument ها به parameter ها فرستاده مي‌شوند:

    Call-by-value
    Call-by-reference
    در روش اول (call-by-value) از مقدار argument يک کپي گرفته شده و به پارامتر داده مي‌شود. از اين‌رو، هر بلايي که سر پارامتر آوريد هيچ تغييري روي argument صورت نمي‌گيرد.

    به مثال زير توجه کنيد:

    using System;
    class MyClass
    {
    static void Main()
    {
    int a = 5;
    Change(a);
    Console.WriteLine(a);
    }
    static void Change(int x)
    {
    x++;
    }
    }
    مقدار a برابر با ? است.argument متد ()Change مقدارa است. از اين مقدار يک کپي گرفته شده و به پارامتر اين متد (x) فرستاده مي‌شود. هنگامي‌که درون اين متد مقدار x افزايش مي‌يابد. تغيير x هيچ تاثيري روي مقدار a نمي‌گذارد. به شکل زير توجه کنيد:



    همان‌طور که مي‌بينيد با تغيير پارامتر، مقدار a هيچ تغييري نمي‌کند زيرا کپي مقدار a در x قرار دارد و اين‌دو کاملاً مستقل از هم هستند.

    در روش دوم (call-by-reference) يک reference به‌عنوان argument به متد داده شده و کپي اين reference به پارامتر فرستاده مي‌شود. درون متد، پارامتر به همان شيءاي رجوع مي‌کند که argument رجوع مي‌کند. اين يعني اگر هر تغييري روي پارامتر انجام دهيد، اين تغيير روي argument نيز تاثير مي‌گذارد زيرا هردو به يک شيء وصل هستند و تغيير هرکدام، شيء را تحت تاثير قرار مي‌دهد.

    به مثال زير توجه کنيد:
    // Objects are passed by reference.
    using System;
    class Test
    {
    public int a, b;
    public Test(int i, int j)
    {
    a = i;
    b = j;
    }
    /* Pass an object. Now, ob.a and ob.b in object
    used in the call will be changed. */
    public void Change(Test ob)
    {
    ob.a = ob.a + ob.b;
    ob.b = -ob.b;
    }
    }
    class CallByRef
    {
    static void Main()
    {
    Test ob = new Test(15, 20);
    Console.WriteLine("ob.a and ob.b before call: " +
    ob.a + " " + ob.b);
    ob.Change(ob);
    Console.WriteLine("ob.a and ob.b after call: " +
    ob.a + " " + ob.b);
    }
    }
    همان‌طور که مي‌بينيد تغيير در پارامتر متد ()Change باعث تغيير مقادير شيء مي‌شود.



    همان‌طور که مي‌بينيد تغييرات در متد ()Change موجب تغيير شيءاي مي‌شود که argument نيز به آن رجوع مي‌کرد.

    استفاده از پارامترهاي ref و out

    همان‌طور که گفته شد، value type ها از طريق مقدارشان به يک متد فرستاده مي‌شوند و تغيير در پارامترهايي که argument را دريافت مي‌کنند، در argument تغييري ايجاد نمي‌کند. سي‌شارپ به شما اجازه مي‌دهد که اين رفتار را از طريق کلمات کليدي ref و out تغيير دهيد. در سي‌شارپ اين امکان وجود دارد که value type را توسط reference ارسال کنيد. اين‌کار به متد اين امکان را مي‌دهد تا بتواند argument را تغيير دهد.

    پيش از اينکه به چگونگي مکانيسم ref و out بپردازيم نياز است بدانيد که چرا بايد value type را توسط reference ارسال کنيم. به‌صورت کلي، دو دليل براي اين‌کار وجود دارد: اجازه دادن به متد تا بتواند محتواي argument اش را تغيير دهد. اجازه دادن به متد براي اينکه بتواند بيشتر از يک مقدار را return کند.

    ref Parameter Modifier

    }
    class RefDemo
    {
    static void Main()
    {
    RefTest ob = new RefTest();
    int a = 10;
    Console.WriteLine("a before call: " + a);
    ob.Sqr(ref a); // notice the use of ref
    Console.WriteLine("a after call: " + a);
    }
    }
    همان‌طور که مي‌بينيد ref قبل از پارامتر و قبل از argument آمده است و موجب شده که مقدار a بعد از فراخواني متد تغيير کند.

    به مثال زير توجه کنيد:

    // Swap two values.
    using System;
    class ValueSwap
    {
    // This method now changes its arguments.
    public void Swap(ref int a, ref int b)
    {
    int t;
    t = a;
    a = b;
    b = t;
    }
    }
    class ValueSwapDemo
    {
    static void Main()
    {
    ValueSwap ob = new ValueSwap();
    int x = 10, y = 20;
    Console.WriteLine("x and y before call: " + x + " " + y);
    ob.Swap(ref x, ref y);
    Console.WriteLine("x and y after call: " + x + " " + y);
    }
    }
    همان‌طور که مي‌بينيد بعد از فراخواني متد ()Swap مقدار متغيرهاي x و y عوض شده است. نکته‌ي مهم در مورد ref اين است که argument اي که از طريق ref ارسال مي‌شود بايد از پيش تعريف شده باشد. به اين دليل که پارمتر مطمئن شود مقداري که دريافت مي‌کند، مقداري معتبر است. بنابراين نمي‌تونيد مستقيماً مثلاً مقدار ?? را در argument بنويسيد.

    out Parameter Modifier

    گاهي نياز داريد که از پارامتر reference استفاده کرده تا مقداري را از يک متد دريافت کنيد اما مقداري را به آن ندهيد. براي مثال تصور کنيد متدي داريد که يک سري عمليات (مثل باز کردن سوکت يک شبکه)را انجام مي‌دهد و در نهايت کد موفقيت يا عدم موفقيت را به پارامتر reference باز مي‌گرداند. در اين‌طور موارد، اطلاعات ارسالي به متد وجود ندارد اما يک‌سري اطلاعات هستند که متد آن‌ها را باز مي‌گرداند. مشکل اين سناريو اين است که ref parameter ابتدا بايستي در يک متغير مقداردهي اوليه شود بنابراين با استفاده از ref parameter بايستي يک argument با يک مقدار ساختگي (که يک کار بيهوده است) را ارسال کنيم تا به‌اصطلاح دهان compiler را ببنديم که خطايي به برنامه نگيرد. خوشبختانه سي‌شارپ پيشنهاد بهتري براي اين مشکل دارد: out parameter

    پارامتر out مشابه پارامتر ref است اما يک تفاوت دارد. پارامتر out فقط مقداري را از متد باز مي‌گرداند و اطلاعات ارسالي به متد ندارد. نيازي نيست متغيري که به‌عنوان out argument به‌کار مي‌رود، در قسمت فراخواني متد، مقداردهي اوليه شود چراکه متد، خودش يک مقدار را به آن متغير مي‌دهد. علاوه‌براين، درون متد، پارامتر out به‌صورت unassigned در نظر گرفته شده است. بدين معني که فرض بر اين است متغير مربوطه مقداردهي اوليه نشده است و متد بايد خودش مقداري را به متغير اختصاص دهد. با اين تفاسير بعد از فراخواني متد، out parameter شامل يک مقدار خواهد بود.

    به مثال زير توجه کنيد:

    class OutExample
    {
    static void Method(out int i)
    {
    i = 44;
    }
    static void Main()
    {
    int value;
    Method(out value);
    // value is now 44
    }
    }
    درون متد Method پارامتر out شامل مقدار ?? است. اين مقدار از طريق متغير i وارد متغير value مي‌شود. همان‌طور که مي‌بينيد value مقداردهي اوليه نشده و پس از فراخواني متد، مقدار ?? به آن اختصاص داده شده است.

    يکي ديگر از کاربردهاي out parameter modifier براي اين است که يک متد به‌جاي يک خروجي، بتواند چندين خروجي داشته باشد.

    به مثال زير دقت کنيد:

    using System;
    class OutReturnExample
    {
    static void MyMethod(out int i, out string s1, out string s2)
    {
    i = 180;
    s1 = "I've been returned.";
    s2 = "This example uses out to return three variables.";
    }
    static void Main()
    {
    int i;
    string str1, str2;
    MyMethod(out i, out str1, out str2);
    Console.WriteLine(i);
    Console.WriteLine(str1);
    Console.WriteLine(str2);
    }
    }
    همان‌طور که مي‌بينيد از طريق out parameter modifier توانستيم ? مقدار را (به‌جاي ? مقدار) return کنيم. البته اگر return-type متد را به‌جاي void مثلاً bool در نظر مي‌گرفتيم مي‌توانستيم علاوه بر آن سه مقدار، يک مقدار بولين هم برگردانيم و جمعاً ? مقدار را return کنيم.

    استفاده از ref و out تنها به فرستادن value type ها محدود نمي‌شود بلکه هنگام فرستادن reference نيز مي‌توانند مورد استفاده قرار گيرد. اين کار به يک متد اجازه مي‌دهد تا بتواندreference اي که به شيء‌اي رجوع کرده را تغيير دهدتا به شيء ديگري رجوع کند.در مثال زير از ref reference parameter استفاده شده تا دو reference که به ? شيء جدا رجوع مي‌کنند را با هم تعويض کند:
    using System;
    class MyClass
    {
    static void Main()
    {
    Swap swapRef1 = new Swap(2, 3);
    Swap swapRef2 = new Swap(4, 5);

    Console.Write("swapRef1 befor change: ");
    swapRef1.Show();
    Console.Write("swapRef2 befor change: ");
    swapRef2.Show();
    Console.WriteLine();
    swapRef1.swapping(ref swapRef1, ref swapRef2);
    Console.Write("swapRef1 after change: ");
    swapRef1.Show();
    Console.Write("swapRef2 after change: ");
    swapRef2.Show();
    }
    }
    class Swap
    {
    int a, b;
    public Swap(int a, int b)
    {
    this.a = a;
    this.b = b;
    }
    public void swapping(ref Swap ob1, ref Swap ob2)
    {
    Swap t;
    t = ob1;
    ob1 = ob2;
    ob2 = t;
    }
    public void Show()
    {
    Console.WriteLine("a = {0}, b = {1}", a, b);
    }
    }
    در اين مثال، متد ()Swap اشياي argument هايي که به متد پاس
    طراحی وب سایت 
     داده شده‌اند را با هم تعويض مي‌کند. قبل از فراخواني متد ()Swap متغير swapRef1 به شيء‌اي با مقادير ? و ? ومتغير swapRef2 به شيء‌اي با مقادير ? و ? رجوع مي‌کند اما بعد از فراخواني ()Swap متغير swapRef1 به شيء‌اي با مقادير ? و ? ومتغير swapRef2 به شيء‌اي با مقادير ? و ? رجوع مي‌کند. اگر ref را حذف کنيد تغييرات اعمال شده فقط درون متد ()Swap مي‌ماند و در بيرون از متد تاثيري ندارد.

    استفاده از argument به تعداد دل‌خواه

    هنگامي‌که يک متد مي‌سازيد مي‌دانيد که پارامتر داريد و از آن‌طرف چه تعداد argument قرار است که دريافت کنيد اما هميشه قضيه به اين صورت نيست. به‌عنوان مثال متدي را در نظر بگيريد که ميانگين را حساب مي‌کند. آيا هميشه بايد ? يا ? عدد را به آن داده تا ميانگين‌شان را بدست آورد؟ مسلماْ نه! اين‌چنين متدي بايد هر تعداد که argument به آن داده مي‌شود ميانگين‌اش را بدست آورد و حد و مرزي نداشته باشد. ممکن است يک‌بار به آن ? مقدار داده شود، بار ديگر ? يا ? مقدار داده شود تا ميانگين آن‌ها را حساب کند. براي اين منظور بايد از کلمه‌ي کليدي params استفاده کنيد.params modifier براي تعريف آرايه‌اي از پارامترها به‌کار مي‌رود که مي‌تواند صفر يا بيشتر از صفر argument را دريافت کند. سايز اين آرايه با توجه به تعداد argument هايي که به متد داده شده تعيين مي‌شود.

    به مثال زير توجه کنيد:

    using System;
    class MyClass
    {

    static void Main()
    {
    ParamTest ob = new ParamTest();

    Console.WriteLine(ob.Average(2, 3, 5, 6));
    Console.WriteLine(ob.Average(2, 3.5));

    double[] myArray = { 5, 8, 6, 12, 15.5, 7 };
    Console.WriteLine(ob.Average(myArray));
    }
    }
    class ParamTest
    {
    public double Average(params double[] nums)
    {
    double result = 0;
    for (int i = 0; i < nums.Length; i++)
    {
    result += nums[i];
    }
    return result / nums.Length;
    }
    }
    به نحوه‌ي استفاده‌يparams در متد ()Average توجه کنيد. همان‌طور که مي‌بينيد در هر بار تعداد متفاوتي از مقادير نوع double را به متد پاس داده‌ايم و در قسمت آخر آرايه‌اي از جنس double را به متد داده‌ايم تا ميانگين آن حساب شود.

    نوشته شده در چهارشنبه 23 مرداد 1392 ساعت 14:28 توسط : raya | دسته : | 92 بازدید
  • [ادامه مطلب] []



  • اين دوره آموزسي بر اساس کتاب Build Your Own Website The Right Way Using HTML & CSS از انتشارات Sitepoint مي باشد.

    چه کساني بايد اين کتاب را بخوانند؟ طراحی وب سایت 

    اين کتاب براي کساني مفيد است که از طراحي سايت اطلاعي ندارند و مي خواهند تازه به جمع طراحان سايت ملحق شوند پس مسلما از ساده ترين نکات آغاز مي شود .
    اين کتاب شما را با HTML و CSS آشنا ميکند و راه را براي ساخت يک وب سايت استاندارد به شما نشان مي دهد. ذکر اين نکته لازم است که ترجمه خط به خط کتاب ارائه نمي شود و چيزي که به عنوان برداشت شخصي من يک طراح سايت (بهزاد علي بيگي) از کتاب مي باشد در قالب مقالات آموزشي براي شما بيان خواهد شد.
    سعي مي کنم در هر مقاله حداکثر يک فصل از کتاب را آموزش دهم و مسلما با بازخوردي که از خوانندگان خواهم گرفت کيفيت کار و هم چنين وسعت کار را افزايش خواهم داد.
    ي که شما نياز داريد:

    1- وسيل? ابتدايي براي ويرايش فايل هاي متني که در واقع صفحه وب شما را شامل ميشود
    2- يک مرورگر (web browser) براي ديدن صفحات وب در آن
    3- فرستادن صفحه وب سايت به محيط اينترنت با استفاده از ftp client

    چون اکثر کاربران ما درايران از ويندوز استفاده مي کنند پس ابزارهاي موجود در ويندوز را بررسي خواهيم کرد.

    ابزارهاي اوليه در ويندوز:

    1- اديت کردن متن : براي اديت کردن متن در ويندوز مي توانيد از Notepad استفاده نماييد. اين متن، همان صفح? وب است .
    براي دسترسي به اين برنامه در محيط ويندوز مسير زير را طي کنيد:

    Start > All Programs > Accessories > Notepad

    2- ديدن خروجي فايل : براي ديدن کار خروجي مي بايست از مرورگر و يا browser استفاده کنيم. مرورگرهاي متفاوتي وجود دارد که بحث آنها بسيار مفصل است ولي در محيط ويندوز مرورگر Internet Explorer در دسترس است.
    شما مي توانيد آن را در دسکتاپ خود و يا Quick Launch ويا فولدر برنامه ها و يا در منوي start پيدا کنيد.



    3- براي فرستادن صفحه به محيط وب از دستور ftp استفاده خواهيم کرد که در ادامه به آن اشاره ميکنم.

    ابزارهاي ديگر:

    براي اديت کردن صفحات خود مي توانيد از برنامه NoteTab استفاده کرد .مزيت استفاده از آن اينست که مي توانيد تب هاي مختلفي را براي صفحات مختلف باز کنيد و بعد از بستن هم در حافظه ش مي ماند و براي دفعه بعد هم باز مي ماند.
    متن نيستند شما براي ويرايش عکس هم به برنامه هايي نياز داريد که مي توانيد از برنامه هاي زير استفاده کنيد:
    Adobe photoshop
    Adobe fireworks
    Picasa
    توصيه من استفاده از فتوشاپ است ، نگران نباشيد يادگيري آن براي کاربرد وب آسان است.

    طراحی وب سایت 

    مرحله آخر - درست کردن مکاني است براي فايل هاي ساخته شده :

    بعد از ساختن فايل هاي خود مديريت آنها بسيار مهم است و اين که در کجا فايل اصلي و در کجا تصاوير قرار گيرد و به همين ترتيب تمام عناصر وب سايت.
    شما بايد يک فولدر بسازيد و تمام عناصر وب سايت خود را در آن قرار دهيد. فرض کنيد در دسکتاپ خود مي خواهيد يک وب سايت بسازيد.

    Right click > new > folder

    سپس نام وب سايت را انتخاب نماييد .حالا يک فولدر داريد که فايل اصلي به همراه تصاوير و css ,html ,..... را داخل آن قرار مي دهيد.
    نوشته شده در شنبه 22 تير 1392 ساعت 12:55 توسط : raya | دسته : | 90 بازدید
  • [ادامه مطلب] []

  •  در اين جلسه از آموزش طراحی وب سایت  css با گزينشگرهاي صفت يا همان attr selectors آشنا خواهيم شد.

    همانطور که ميدانيد تگ هاي html  طراحی وب سایت  داراي صفت هايي نيز هستند ما در اين جلسه خواهيم آموخت که چگونه به هر تگ با صفت هاي مختلف استايل متفاوتي دهيم.
    گزينشگرهاي صفت
     
     
    براي انتخاب يک صفت در طراحی وب سایت  css پس از انتخاب تگ، صفت و مقدار آنرا در داخل [] قرار مي دهيم به کد زير دقت کنيد :
    1
    tagname[attribute="value"] {
    2
     // some code
    3
    }
    براي مثال مي خواهيم با استفاده از طراحی وب سایت  صفت alt رنگ متن مان را تغيير دهيم
    کد html
     
    1
    <p alt="red-text">7learn</p>
    2
    <p alt="blue-text">7learn</p>
    کد css
     
    1
    p[alt="red-text"] {color: red;}
    2
    p[alt="blue-text"] {color: blue;}
    دقت داشته باشيد که مي توان از همه صفت هاي موجود استفاده کرد حتي class و id به طور مثال :
     
    1
    p[class="blue-text"] {color: blue;}
    اين کد تعيين ميکند تگ p که مقدار صفت class ان برابر با blue-text است رنگش را برابر با آبي قرار بده.
    کد بالا و کد
     
    1
    .blue-text {color: blue;}
    کار يکساني را انجام مي دهند. البته فقط مرورگرهاي مدرن و ie9+ از همه ي صفت ها پشتيباني مي کنند مرورگرهاي قديمي فقط از تگ input، صفت type پشتيباني مي کنند.
    بسيار خب اموزش اين جلسه  طراحی وب سایت  به پايان رسيد
    نوشته شده در سه شنبه 28 خرداد 1392 ساعت 12:14 توسط : raya | دسته : | 111 بازدید
  • []

  • آموزش طراحی وب سايت با PHP و MySQL

    عنوان اصلي : PHP with MySQL Essential Training

    اگر در پي داشتن يک وب سايت موفق ، زيبا و ايمن در فضاي وب هستيد بهترين انتخاب برنامه نويسي  آن سايت با استفاده از PHP و MySQL است . هدف از اين مجموعه آموزشي يادگيري و استفاده از PHP و My SQL به صورت ترکيبي براي طراحی وب سايت  Dynamic يا پويا است.

     

     


     PHPWithMySQLEssentialTraining

     

    در ادامه با برخي از سرفصلهاي درسي اين مجموعه آموزشي PHP آشنا مي شويم :

    آشنايي با مدرس مجموعه و برخي از نکات اين کورس آموزشي شامل 2 درس

    آموزش نصب و پيکربندي PHP و PHPMyAdmin در سيستم عامل MAC OS X و استفاده از ويراستار متن براي نوشتن اسکريپت هاي PHP شامل 5 درس

    آموزش نصب PHP در سيستم عامل ويندوز و استفاده از ويراستار متني براي نوشتن اسکريپت هاي PHP

    آموزش شروع به کار با PHP شامل 5 درس

    آموزش و آشنايي با مفاهيم و کاربردهاي انواع داده ها (از قبيل متغيرها ، String ها ، آرايه ها و . . .) شامل 10 درس

    آموزش دستورات شرطي ( if ، else و . . .) در زبان برنامه نويسي PHP شامل 4 درس

    آموزش  حلقه هاي تکرار ( While ، For و . . . ) در PHP شامل 6 درس

    آموزش ساخت طراحی وب سايت  و استفاده از توابع شامل 5 درس

    آموزش عيب زدايي برنامه هاي نوشته شده با استفاده از PHP شامل 1 درس

    آموزش ساخت يک وب سايت ( با استفاده از Link ها و URL ها ، متغيرها ، توابع ، فرم ها و . . . ) شامل 9 درس

    آموزش مفاهيم پايه اي و اساسي MySQL شامل 6 درس

    آموزش ساخت CMS (Content Management System) بوسيله PHP و MySQL شامل 12 درس

    آموزش دستورات پايه کار با ديتابيس ها يعني دستورات ( Insert , Select , Update , Delete ) شامل 15 درس

    آموزش ساخت چهارچوب وب سايت با استفاده از PHP و MySQL شامل 5 درس

    آموزش مديريت دسترسي هاي بوسيله ساخت يک سيستم Login با استفاده از Session ها شامل 6 درس

    و چندين و چند آموزش کاربردي و مفيد ديگر در رابطه با طراحي وب سايتهاي پويا با استفاده از PHP و MySQL که در اين آموزش قرار دارد.


    آموزش طراحی وب سايت  هاي قدرتمند بصورت PHP فقط در ?? روز WSO – Online PHP Course by Tom Tenaglia


    پي‌اچ‌پي از زبان‌هاي پردازه‌نويسي تحت وب است. ساختار اين زبان بسيار شبيه زبان سي (C) و زبان برنامه‌نويسي پرل (Perl) مي‌باشد. شکل پذيري فوق العاده آن و نيز همگوني با اغلب بانک‌هاي اطلاعاتي از قبيل MySql قدرت آن را افزايش داده است. مشهورترين نرم‌افزارهاي(بسته هاي) ايجاد شده با پي‌اچ‌پي عبارت‌اند از phpBB ، SMF ، Mambo ، Joomla ، PHPNuke ، mybb , پي‌اچ‌پي مي‌تواند جايگزيني براي زبان‌هاي ASP.NET و JSP و Perl باشد. همچنين يکي از بهترين نمونه‌هاي طراحی وب سايت  برنامه‌نويسي php در سطح وسيع سايت فيس‌بوک است. سادگي استفاده از پي‌اچ‌پي و شباهت آن به زبان سي و پرل (و از نسخه ? آن به جاوا) باعث شده که اغلب برنامه نويسان با تجربه در کوتاه‌ترين زمان ممکن برنامه‌هاي کاملي را ايجاد کنند. پي‌اچ‌پي تنها يک زبان پردازه‌نويسي نيست و با استفاده از PHP-GTK مي‌توان براي طراحی وب سايت برنامه‌هاي با ظاهر گرافيکي (GUI) و همچنين طراحي برنامه‌هاي خط فرمان شبيه پرل يا پايتون (Python) از آن استفاده کرد. پي‌اچ‌پي امکان استفاده از انواع مختلفي از پايگاه‌هاي داده را از جمله MySQL، اوراکل، IBM DB? ،Microsoft SQL Server ،PostgreSQL و SQLite با دستورهايي ساده فراهم مي‌سازد. پي‌اچ‌پي روي بيشتر سيستم‌عامل‌هاي معروف از جمله لينوکس، يونيکس، ويندوز و Mac OSX و با اغلب کارگزارهاي وب (Web Server) معروف، قابل اجراست. شما با استفاده از اين آموزش که بصورت قدم به قدم هست براحتي مي توانيد پي اچ پي را فرا بگيريد و شروع بهي  طراحی وب سايت  کنيد. البته فراموش نکنيد که اين آموزش ادعا ميکنه که شما با دنبال کردن اين آموزش در عرض  روز مي توانيد وب سايت هاي قدرتمند بصورت کاملا تضميني طراحي کنيد.

    نوشته شده در يکشنبه 26 خرداد 1392 ساعت 12:56 توسط : raya | دسته : | 141 بازدید
  • []


  • صفحه قبل 1 صفحه بعد
    سفارش تبليغات
    پاپ آپ استند نمایشگاهی | طراحی سایت در اصفهان | هانس گروهه | عینک واقعیت مجازی | دیاگ | هاست لینوکس ارزان | طراحی سایت | ثبت آگهی رایگان | فلزیاب , فلزیاب تصویری | کانال تلگرام | طراحی وبسایت | پکیج درمان دیابت | پیش بینی مسابقات فوتبال | آگهی رایگان لینک دار | گروه تلگرامی وکلا | محمد دبیری | اینترنت پر سرعت | بانک شهر | گیت کنترل تردد | منزل مبله | دکل مهاری | طلایاب , طلایاب تصویری | دکتر نوروزیان | آزمایشگاه فرزانگان شیراز
    X
    تبليغات