دسته بندي ها

جستجو

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

جعبه پیام




امکانات


آرشيو

خبرنامه

آمار

آنلاین : 1
بازدید امروز : 3
بازدید دیروز : 7
بازدید هفته گذشته : 25
بازدید ماه گذشته : 81
بازدید سال گذشته : 1602
کل بازدید : 9604

لينک دوستان


1
class Database
2
{
3
….
4
public function select($query)
5
{
6
// کدهاي مربوط به تابع
7
}
8
}
مقادير از ديتابيس مينويسيد.خب همينطور که ميدونيد بقيه اعضاي تيم بايد از اين متد استفاده کنن.اما يک تابع
مينويسيد تا قبل از اجراي دستور select چک کنه که آيا جدول مورد نظر در ديتابيس وجود داره يا خير؟

1
function table_exists($table)
2
{
3
///
4
}
تابع table_exists تابعي هست که نبايد توسط بقيه استفاده بشه و فقط بايد توسط متدهاي اصلي کلاس
 استفاده بشن.يعني در متد select قبل از اجراي کوئري طراحی وب سایت مورد نظر چک کنه که آيا جدول مورد نظردر ديتابيس 
وجود داره يا خير اگر نبود پيغام خطا بده :

1
function select()
2
{
3
if($this->table_exists($table))
4
{
5

6
}else
7
{
8
return false;
9
}
10
}
منظور من از مثال بالا اين بود که در برنامه نويسي شيء گرا بايد بعضي از متدها و متغيرهاي کلاس رو از ديد بقيه 
کساني که از کلاس ما(که شامل بقيه کلاسها هم ميشه) استفاده ميکنن مخفي نگه داريم تا نتونن توي مقادير
 و نحوه کار کرد کلاس خواسته يا ناخواسته خلل ايجاد کنن.

براي همين در شيء گرايي مفهومي ارايه شد به نام encapsulation که جدا از معني لغوي اين کلمه به نحوه
 دسترسي اعضاي کلاس شامل متد ها و متغير ها ، در خارج کلاس رو تعريف ميکنه.

در برنامه نويسي شيء گرا سه نوع نحوه دسترسي داريم :

Public

Private

Protected

در ادامه به توضيح هر کدوم از اينها ميپردازيم.

Public

کلاسهايي که ما مينويسيم در اکثر موارد بايد شامل متدها و متغيرهايي باشن تا در خارج از کلاس بتونيم 
بهشون دسترسي داشته باشيم.بهتره با يک مثال بريم جلو .

کلاس ديتابيس رو در نظر بگيريد.متد select متدي هست که بايد در خارج از کلاس بهش دسترسي داشته باشيم.
منظور از خارج از کلاس بقيه کاربران يا کلاسهايي هستند که ميخوان از کلاس ما استفاده کنن. براي دسترسي به 
يک متغير يا تابع درخارج از کلاس بايد از کلمه کليدي public استفاده کنيم :

1
class Database
2
{
3
public function select()
4
{
5
///codes
6
}
7
}
هنگامي که از کلمه کليدي public قبل از function استفاده ميکنيم به محيط خارج از کلاس اجازه ميديم که به متد 
ما دسترسي داشته باشن.

1
include 'database.php';
2
$db = new Database();
3
$db->select();
با اجراي کد بالا ميبينيد که کلاس Database اجازه دسترسي به متد select رو به شما ميده.

چون متد select به صورت public يا عمومي تعريف شده.

Private

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

1
class Database
2
{
3
public function select()
4
{
5
///codes
6
}
7
private function table_exists($table)
8
{
9
///
10
}
11

12
}
در کد بالا تابع table_exists در خارج از کلاس در دسترس نيست و با اجراي کد زير پيغام خطا دريافت خواهيد کرد:

1
include 'database.php';
2
$db = new Database();
3
$db->table_exists('users');
Protected

در مبحث ارث بري از اين نوع نحوه دستري زياد استفاده ميشه.پس بيايد ابتدا مروري بر ارث بري داشته باشيم
تا کاربرد protected رو بيشتر متوجه بشيم.

ارث بري

در يک پروژه تيمي قسمتي از پروژه که بايد توسط شما آماده بشه گاهي اوقات ممکنه فقط شامل سک کلاس باشه ي
ا ميتونه از چندين کلاس مختلف تشکيل بشه. در يک سيستم پيشرفته (وحتي متوسط) به شما ميگن بايد بخش 
ديتابيس رو بنويسيد.(هي نگين گير داده به ديتابيس به خاطر اين ميگم ديتابيس که ميدونم همه باهاش کار کردين 
و تصورش براتون راحت تره و کاربردي هم هست ;) ).ممکنه بخش ديتابيس يک سايت از چند کلاس مختلف تشکيل 
شده باشه.يک کلاس براي ساخت خودکار کوئري ها ، يکي براي اجراي کوئري ها ، يکي براي مديريت خطاها و …

در اين سيستم يک کلاس براي اجراي کوئري ها مثلا با نام Database مينويسيم.براي استفاده از اين کلاس دو راه داريم:

?- در هر جاي پروژه که بخوايم يک کوئري خاص رو اجرا کنيم بايد يک شيء از اين کلاس بسازيم بعد کوئري مورد نظر
 رو بهش پاس بديم تا اجرا بشه.

?- يک کلاس بنويسيم با نام Users که از کلاس Database ارث بري کنه.سپس به واسطه کلاس Users به متدهاي
کلاس Database دسترسي پيدا کنيم.

شايد بپرسيد که چه فرقي داره؟ در روش دوم هم ما بايد هر طراحی وب سایت جا تو پروژه نياز داشتيم از کلاس Users يک شيء بسازيم
. اما نکته اي که هست اينه که ما ميتونيم به واسطه کلاس Users يه سري تنظيمات رو فقط يکبار تعريف کنيم. با 
مثال بيشتر متجه ميشيد.

روش اول :

کلاس Database

1
class Database
2
{
3
private $table;
4
private $primary_key;
5
public function __construct($table , $pk)
6
{
7
$this->table = $table;
8
$this->primary_key = $pk;
9
}
10

11
public function exec($query)
12
{
13

14
// کدهاي مربوط
15
}
16
}
در روش اول براي هر بار اجراي يک کوئري بايد ابتدا نام جدول سپس کليد اصلي جدول رو تنظيم کنيم :

1
include 'database.php';
2
$db = new Database('users' , 'user_id);
روش دوم :

کلاس Database رو مثل قبل مينويسيم با اين تفاوت که نوع متغيرهاي $table , $primary_key رو از نوع protected ميزاريم
 که بتونيم در کلاس فرزند بهشون مقدار بديم  :

1
class Database
2
{
3
protected $table;
4
protected $primary_key;
5
public function __construct($table , $pk)
6
{
7
$this->table = $table;
8
$this->primary_key = $pk;
9
}
10

11
public function exec($query)
12
{
13

14
// کدهاي مربوط
15
}
16
}
در روش دوم بايد يک مرحله بيشتر انجام بديم. در اين روش بايد براي هر جدول در ديتابيس يک کلاس جدا
بسازيم مثلا کلاس Users که بايد از کلاس Database ارث بري کنه (با استفاده از کلمه کليدي extends ):

1
class Users extends Database{
2
<pre> protected $table = &#039;users&#039;;
3
protected $primary_key = &#039;user_id&#039;;</pre>
4
}
بيايد مزاياي روش دوم رو بررسي کنيم.

فرض کنيد شما در پروژه ??? بار به ديتابيس متصل ميشيد و جدول users رو دستکاري ميکنيد. ممکنه در آينده نام 
جدول يا نام کليد اصلي جدول رو بخوايد تغيير بديد. اگر از روش اول استفاده کنيد :

1
include 'database.php';
2

3
$db = new Database
4

5
('users' , 'user_id);
بايد همه جاهايي که کد بالا رو نوشتيد پيدا کنيد و تغييرش بديد.اما در روش دوم در صورتي هر تغييري در ديتابيس
 اجام بشه و نام فيلد اصلي و جدول تغيير کنه فقط با يکبار تغيير در کلاس Users ميتونيد توي کل پروژه اين تغيير 
رو اعمال کنيد.ميبينيم روش دوم يکي از مزاياي شيء گرايي که ” نگهداري و توسعه آسان ” هست رو در اختيار ما ميذاره.

بحث ارث بري يکي از شيرين ترين بحثهاي برنامه نويسي شيء گراست.تا اينجا رو گفتم که با مفهومش آشنا بشيد 
و کاربردش رو ببينيد به اميد خدا حتما در يک پست جدا در موردش صحبت ميکنيم.

حالا ببينيم کاربرد Protected در برنامه نويسي شيء گرا کجاست.

Protected به کلاسهاي فرزند اجازه استفاده از توابع و متغيرها رو ميده اما در خارج از کلاس اين اجازه داده نميشه.

يک مثال از دنياي واقعي : توي يک خانواده پدر ، مادر ، پسر ، دختر هستند.ممکنه در اين خانواده دختر و پسر
از پدرشون به خاطر بعضي مسايل انتقاد کنن.اما همين پسر و دختر به کسي که خارج از اعضاي خانواده است اجازه 
انتقاد از پدرشون رو نميدن.يعني فقط پسرو دختر و مادر حق انتقاد از پدر رو دارن.پس توي يک خانواده 
” انتقاد از پدر” به صورت protected تعريف شده و اگر کسي خارج از خانواده از پدر انتقاد کنه با کتک (پيغام خطا) مواجه ميشه.

اين بحث هم به پايان رسيد.اميد وارم خوب توضيح داده باشم و مفهوم رو رسونده باشم.به هر حال چيزي که توي آموزش PHP مد نظرم هست اينه که مفهوم رو بفهميد و سعي کنيد خودتون رو درگير اصطلاحات مختلف نکنيد.برنامه نويسي شيء گرا واقعا لذت بخشه.
نوشته شده در دوشنبه 18 شهريور 1392 ساعت 12:22 توسط : padideh | دسته : | 195 بازدید
  • [ادامه مطلب] []

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

    در اين نوع از چينش يک بخش هايي با نام sideBar و contentBody اضافه شده است . با توجه به نوع و حتي 
    رنگ پس زمينه اين بخش ها , مي توان از تکنيک طراحی وب سایت هاي متفاوتي براي چينش صفحه استفاده نمود که در ادامه
     توضيحات بيشتري در اين زمينه ارائه خواهد شد.

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

    در نمونه و مثال نخست با توجه به نوع طرح و رنگ يکسان پس زمينه sideBar و contentBody همسان نبودن ارتفاع
     از ديد مخاطب پنهان خواهد ماند و نا هماهنگي در طرح ايجاد نخواهد کرد .

    DEMO

    ساختار HTML

    <div class="container">
    <div class="header">
    <h1><a href="http://www.webtarget.ir/">webtarget.ir</a></h1>
    <h2>دو ستون - عرض ثابت</h2>
    </div>
    <div class="navigation">
    <ul>
    <li><a href="#">خانه</a></li>
    <li><a href="#">درباره ما</a></li>
    <li><a href="#">خدمات</a></li>
    <li><a href="#">ارتباط با ما</a></li>
    </ul>
    </div>
    <div class="content">
    <div class="contentBody">
    <h2>آموزش چينش صفحات وب سايت با استفاده از CSS</h2>
    <p>کد نويسي بر اساس استاندارد W3C انجام شده است</p>
    <p>چينش بر اساس زبان فارسي و از راست به چپ است - rtl </p>
    <br class="clearfloat" />
    </div>
    <div class="sideBar">
    <h3>سر فصل براي ستون کناري</h3>
    <p>با ساختار و چينش هاي استاندارد آشنا مي شويد</p>
    </div>
    <br class="clearfloat" />
    </div>
    <div class="footer">
    Copyright©webtarget.ir|2011
    </div>
    </div>
    کدهاي CSS

    @charset "utf-8";
    /* CSS Document */
    /*-------------------------*/
    /* Design & Style by */
    /* Amir Sorouri */
    /* Sorouri.amir@gmail.com */
    /*-------------------------*/

    /*--------- reset ---------*/

    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, font, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    }
    ol, ul {
    list-style: none;
    }
    body { font:62.5%/1.7em Tahoma, Arial, sans-serif;direction:rtl;}

    /* ---------- Requirment ----------*/
    .container {font-size:1.2em;}
    .clearfloat {clear:both; height:1%;}
    h1 , h2 , h3 { font-family:Arial, Helvetica, sans-serif;}
    h1 { font-size:1.8em;}
    h2 { font-size:1.6em;}
    h3 { font-size:1.4em;}

    /* ---------- Main -----------*/
    .container
    {
    width:960px;
    margin: 0 auto;
    background:#fff;
    }

    .header
    {
    background:#ccc;
    padding: 20px;
    }
    .header h1 { text-align:left;}
    .header h1 a{ text-decoration:none; color:#09F;}
    .navigation
    {
    background:#333;
    height:30px;
    line-height:30px;
    }

    .navigation ul li
    {
    float:right;
    }

    .navigation li a
    {
    display: block;
    height:30px;
    padding:0 15px;
    color:#fff;
    text-decoration: none;
    border-left: 1px solid #fff;
    }

    .navigation li a:hover { background:#09F; }

    .content
    {
    background:#eee;
    }

    .contentBody
    {
    width:650px;
    float:right;
    padding:20px;
    }

    .contentBody p { text-align:justify; line-height:17px;}

    .contentBody h2
    {
    margin: 0 0 .5em;
    }

    .sideBar
    {
    width:250px;

    float:left ;
    padding:20px 0 20px 20px;

    }
    .sideBar h3
    {
    margin: 0 0 .5em;
    }

    .footer
    {
    background:#ccc;
    padding: 20px;
    text-align:left;
    }
    براي ظاهر شدن اين ناهماهنگي در چينش صفحه کافيست که sideBar و contentBody داراي رنگ پس زمينه متفاوتي شوند

    .sideBar
    {
    width:250px;
    float:left ;
    padding:20px 0 20px 20px;
    background:#ddd;

    }
    در اين رابطه بهتر است مطالب زير را مطالعه نمائيد

    آشنايي با مفهوم Margin , Padding , Border در CSS
    Margin , Padding – خلاصه نويسي دستورات CSS
    خلاصه نويسي دستورات CSS – Background
    رنگ مورد استفاده در پس زمينه sideBar در ابتدايطراحی وب سایت اين مثال را نيز حذف نمائيد .به همين
     سادگي به نظر مي رسد 
    که نا هماهنگي بر طرف شده باشد . ملاحظه مي نمائيد که با افزايش محتويات contentBody همچنان در چينش 
    ناهماهنگي به وجود نخواهد آمد و contentBody و sideBar داراي ارتفاع يکسان و رنگ پس زمينه متفاوت خواهند بود .

    نمايش صفحه

    ساختار HTML

    <div class="container">
    <div class="header">
    <h1><a href="http://www.webtarget.ir/">webtarget.ir</a></h1>
    <h2>دو ستون - عرض ثابت</h2>
    </div>
    <div class="navigation">
    <ul>
    <li><a href="#">خانه</a></li>
    <li><a href="#">درباره ما</a></li>
    <li><a href="#">خدمات</a></li>
    <li><a href="#">ارتباط با ما</a></li>
    </ul>
    </div>
    <div class="content">
    <div class="contentBody">
    <h2>آموزش چينش صفحات وب سايت با استفاده از CSS</h2>
    <p>کد نويسي بر اساس استاندارد W3C انجام شده است</p>
    <p>چينش بر اساس زبان فارسي و از راست به چپ است - rtl </p>
    <br class="clearfloat" />
    </div>
    <div class="sideBar">
    <h3>سر فصل براي ستون کناري</h3>
    <p>با ساختار و چينش هاي استاندارد آشنا مي شويد</p>
    </div>
    <br class="clearfloat" />
    </div>
    <div class="footer">
    Copyright©webtarget.ir|2011
    </div>
    </div>
    کدهاي CSS
    @charset "utf-8";
    /* CSS Document */
    /*-------------------------*/
    /* Design & Style by */
    /* Amir Sorouri */
    /* Sorouri.amir@gmail.com */
    /*-------------------------*/

    /*--------- reset ---------*/

    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, font, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    }
    ol, ul {
    list-style: none;
    }
    body { font:62.5%/1.7em Tahoma, Arial, sans-serif;/* font-size 1em = 10px */ direction:rtl;}

    /* ---------- Requirment ----------*/
    .container {font-size:1.2em;}
    .clearfloat {clear:both; height:1%;}
    h1 , h2 , h3 { font-family:Arial, Helvetica, sans-serif;}
    h1 { font-size:1.8em;}
    h2 { font-size:1.6em;}
    h3 { font-size:1.4em;}

    /* ---------- Main -----------*/
    .container
    {
    width:960px;
    margin: 0 auto;
    background:#fff;
    }

    .header
    {
    background:#ccc;
    padding: 20px;
    }
    .header h1 { text-align:left;}
    .header h1 a{ text-decoration:none; color:#09F;}
    .navigation
    {
    background:#333;
    height:30px;
    line-height:30px;
    }

    .navigation ul li
    {
    float:right;
    }

    .navigation li a
    {
    display: block;
    height:30px;
    padding:0 15px;
    color:#fff;
    text-decoration: none;
    border-left: 1px solid #fff;
    }

    .navigation li a:hover { background:#09F; }

    .content
    {
    background:url(sideBarBg.jpg) repeat-y left top #eee;
    }

    .contentBody
    {
    width:650px;
    float:right;
    padding:20px;
    }

    .contentBody p { text-align:justify; line-height:17px;}

    .contentBody h2
    {
    margin: 0 0 .5em;
    }

    .sideBar
    {
    width:250px;
    float:left ;
    padding:20px 10px;

    }
    .sideBar h3
    {
    margin: 0 0 .5em;
    }

    .footer
    {
    background:#ccc;
    padding: 20px;
    text-align:left;
    }
    نوشته شده در سه شنبه 2 مهر 1392 ساعت 14:18 توسط : padideh | دسته : | 188 بازدید
  • []

  •  
    گاهي اوقات لازمه که ما طراحی وب سایت منو رو به صورت دايناميک بزاريم و اون رو يا به ديتابيس يا به  xml وصل کنيم
     اما ظاهر اون ما رو دچار مشکل مي کنه  براي تغيير ظاهر اون به وسيله css  بايد در قسمت properties ابزار
     منو ويژگي  CssClass  کلاس مربوط به منو خودتون رو انتخاب کنيد و ويژگي RenderingMode روي list قرار بدين
     در اين حالت مي تونيم استايل مورد علاقه خودمون رو به منو بديم .
    براي اين کار يک پروژه جديد ايجاد کنيد و يک چک باکس ، 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;
    }
    پروژه رو اجرا کنيد و نتيجه کار رو ببينيد .
    Home » #C • ASP.NET » URL Rewriting در ASP.NET 4.0
    URL Rewriting در ASP.NET 4.0 نوشته شده توسط مصطفي#C, ASP.NET ?? بهمن ????
    در اين مقاله ياد مي گيريم که چطور به وسيله URL rewriting اقدام به بازنويسي url کنيم .
    زماني که ما از رشته هاي پرس و جو ( query string ) استفاده مي کنيم لزومي نداره که عين رشته رو کاربر ببينه :



    براي اين کار ابتدا يک پروژه خالي از نوع وب ايجاد کنيد و يک صفحه با نام Default.aspx ايجاد کنيد .

    يک hyperlink به صفحه اضافه کنيد .
    در قسمت properties مربوط به hyperlink به خاصيت NavigateUrl مقدار ( Home/~ ) بدهيد .
    به خاصيت text اون مقدار ( Home ) را بدهيد .
    hyperlink دوم رو به صفحه اضافه کنيد به خاصيت NavigateUrl اون مقدار ( About/~ ) و به خاصيت
     text اون مقدار ( About) را بدهيد .
    يک lable هم اضافه کنيد تا نتيجه خروجي رو ببينيم .
    پس تا اينجا ما دو تا لينک متفاوت داريم که نياز به بازنويسي دارد . براي اين کار بايد ابتدا URL mappings
     را در web.config فعال کنيم و دو تا url رو به صورت زير مشخص کنيم :

    <urlMappings enabled="true">
    <add url="~/Home" mappedUrl="~/Default.aspx?page=Home"/>
    <add url="~/About" mappedUrl="~/Default.aspx?page=About"/>
    </urlMappings>
    حالا براي مشاهده نام صفحه درخواست شده در رويداد لود صفحه کد زير رو قرار مي ديم :
    Label1.Text = Request.QueryString["page"];
    بدست آوردن mac address با asp.net نوشته شده توسط مصطفيASP.NET ?? مرداد ????
    براي نمايش mac address ابتدا فضاي نام :

    using System.Net.NetworkInformation;
    به صفحه وب خودمون اضافه مي کنيم و از طريق طراحی وب سایت کد زير mac address رودر label نمايش مي ديم :


    protected void Page_Load(object sender, EventArgs e)
    {

    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();

    Label1.Text = nics[0].GetPhysicalAddress().ToString();

    }


    تبديل عکس رنگي به سياه و سفيد با css نوشته شده توسط مصطفيCSS ?? مرداد ????
    سلام خدمت کاربران عزيز و همچنان عدرخواهي به خاطر تاخير در مطالب !

    براي اينکه ما بتونيم تصوير رنگي رو به کمک css به صورت سياه و سفيد نمايش بديم بدون استفاده از 
    جاوا اسکريپت  و يا حتي آپلود دو نسخه از تصوير از کلاس :
    img.grayscale {

    /* Chrome 19+, Safari 6+ ... */
    -webkit-filter: grayscale(1);

    /* Firefox 3.5+, Firefox mobile */
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'>
    <filter id=\'gs\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0
     0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#gs");

    /* for IE6+ */
    filter: gray;
    }
    استفاده مي کنيم اين کلاس در تمام مرورگرها به درستي اجرا مي شود .

    و يک نکته رو اضافه کنم که خاصيت filter همونظور که مي دونيد از خاصيت هاي css3 هست و
     فقط مرورگرهاي به اصطلاح ( Webkit browsers ) اون رو پشتيباني مي کنند  ،

    webkit يک موتور مرورگر وب يا موتور رندر هست که در حال حاضر در دو مرورگر گوگل کروم و سافاري
    به کار رفته  به همين خاطر زماني که از ( webkit-filter ) استفاده مي کنيد تنها مرورگرهاي کروم و سافاري پشتيباني مي کنند .
    نوشته شده در سه شنبه 16 مهر 1392 ساعت 13:29 توسط : padideh | دسته : | 128 بازدید
  • []

  •  
    کاراکتر “$”: اين کاراکتر به طراحی وب معني پايان خط هست. دقيقاً عکس “^” عمل ميکنه.
    کاراکتر “|”: اين کاراکتر به معني “يا” هست. مثلا براي بررسي مطابقت يا عدم مطابقت يه نويسه با يکي
    از کلمات red يا bed اين الگو رو ميخوايم:
    1
    /^bed|red$/
    پرانتز “()”: براي ايجاد زير الگوها در يک الگو ازش استفاده ميکنيم. مثلا اگه بخوايم نويسه اي با يکي از
     کلمات bed يا red مطابقت کنه به الگوي زير نياز داريم:
    1
    /^(r|b)ed$/
    براکت “[]“: اينا وقتي کاربرد داره که بخوايم يه گروه خاص از کاراکترها رو با يه نويسه مقايسه کنيم. مثلا
    واسه اينکه ببينيم يه نويسه از a و b و h تشکيل شده يا نه اين الگو رو مينويسيم:
    1
    /^[abh]+$/
    کاراکتر “+” و “*”: “+” يکي يا بيشتر و “*” هيچي يا بيشتر. مثلا براي بررسي اينکه يه نويسه از نوع 
    عدديه يا نه اين الگو لازمه:
    1
    /^[?-?]+$/
    ”{n,m}”: يعني هر الگويي که قبلش قرار داره بايد بين n تا m بار تکرار شده باشه.
    و تابع preg_match که به ترتيب الگو و نويسه رو دريافت ميکنه و اگر نويسه با الگو مطابقت کنه true رو برمي گردونه.
    خب فعلاً تا همين جا رو داشته باشيد تا بعد.

    بهترين کتابخانه هاي کار با نرم افزارهاي آفيس Word , Excel , Power Point
    Posted on ??/??/?? | PHP کدهاي آماده
    15205298
    مجموعه نرم افزاري آفيس يکي از پرکاربرد ترين نرم افزارهاي شرکت مايروسافته که تقريبا ميشه توي هر
     کامپيوتري اون رو پيدا کرد. براي اين پست تصميم گرفتم کتابخانه هايي رو معرفي کنم که کار مارو براي 
    ارتباط با اين نرم افزار ها راحت تر ميکنه.


    ?- PHP PowerPoint

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



    دانلود و آموزش : http://phppowerpoint.codeplex.com/



    2- PHP Word

    PHP Word يکي ديگه از کتابخانه هايي هست که براي ساخت فايلهاي word نوشته شده. اين کتابخانه
     فايلهايي با پسوند docx به کاربرا ميده.

    اضافه کردن متنهاي قالب بندي شده ، اضافه کردن عکس ، اضافه کردن header و footer , … از قابليتهاي ا
    ين کتابخانه هستند.



    دانلود و آموزش : http://phpword.codeplex.com/



    3- PHP Excel Reader

    کتابخانه اي فقط براي خواندن فايلهاي excel .



    دانلود و آموزش : http://code.google.com/p/php-excel-reader/



    4 – Excel Writer (XML) For PHP

    اين کتابخانه براي ساخت صفحات اکسل به وسيله php کاربرد داره.



    دانلود و آموزش :http://sourceforge.net/projects/excelwriterxml/



    5 -PHP Export Data

    يک کتابخانه براي خروجي گرفتن از اطلاهات به صورت xml , CSV , TSV



    دانلود و آموزش : https://github.com/elidickinson/php-export-data



    6. PHP Excel

    با استفاده از اين کتابخانه ميتونيم آرايه هاي ذو بعدي در php رو به فايلهاي اکسل تبديل کنيم.



    دانلود و آموزش : http://code.google.com/p/php-excel/



    7. SimpleExcel PHP

    کتابخانه ساده اما قدرتمندي که براي نوشتن و خواندن فايلهاي اکسل به وسيله php کاربرد داره.

    نوشته شده در دوشنبه 25 آذر 1392 ساعت 15:00 توسط : padideh | دسته : | 171 بازدید
  • []


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