PDA

View Full Version : سوال: اجرا کردن تابع در تمام سایت ...



thacker
یک شنبه 03 شهریور 1392, 22:58 عصر
چطور میتونم یه تابع رو توی تمام سایتم اجرا کنم ؟؟
مثلا تابع فارسی سازی اعداد ...

AliRezaPro
یک شنبه 03 شهریور 1392, 23:58 عصر
یک کلاس تعریف کنید و توابع خودتون رو اونجا قرار بدید , هر جا و در هر صفحه ایی نیاز پیدا کردید میتوانید استفاده کنید

فرزند کوروش
دوشنبه 04 شهریور 1392, 08:51 صبح
کافیه تابعی که ایجاد کردید رو توی تمام صفحاتتون اینکلود کنید.

thacker
دوشنبه 04 شهریور 1392, 14:58 عصر
چطور باید تابع رو اینکلود کنم ؟
نمیشه یک بار اینکلود کنم اما توی همه صفحات اجرا شه ... چون جاهای زیادی من از اعداد استفاده کردم ... راه سریعتر داره ؟!

فرزند کوروش
دوشنبه 04 شهریور 1392, 18:31 عصر
دوست گرامی تابعت رو داخل یه صفحه مثلا function.php مینویسی بعد این صفحه رو توی تمام صفحاتتinclude میکنی و میتونی از تابع هایی که داخل function.php هست استفاده کنی.دیگه از این راحت تر؟

thacker
دوشنبه 04 شهریور 1392, 19:11 عصر
تشکر...
من یکم گیج میزنم ...
الان این تابع من هست :


function farsi_number($m)
{
$m=str_replace("1","۱",$m);
$m=str_replace("2","۲",$m);
$m=str_replace("3","۳",$m);
$m=str_replace("4","۴",$m);
$m=str_replace("5","۵",$m);
$m=str_replace("6","۶",$m);
$m=str_replace("7","۷",$m);
$m=str_replace("8","۸",$m);
$m=str_replace("9","۹",$m);
$m=str_replace("0","۰",$m);
return $m;
}


حالا اگه این رو توی هر صفحه بنویسم ، تمام اعداد فارسی میشن ؟؟ :


<? php farsi_number(); ?>

parsboy
دوشنبه 04 شهریور 1392, 19:42 عصر
تشکر...
من یکم گیج میزنم ...
الان این تابع من هست :


function farsi_number($m)
{
$m=str_replace("1","۱",$m);
$m=str_replace("2","۲",$m);
$m=str_replace("3","۳",$m);
$m=str_replace("4","۴",$m);
$m=str_replace("5","۵",$m);
$m=str_replace("6","۶",$m);
$m=str_replace("7","۷",$m);
$m=str_replace("8","۸",$m);
$m=str_replace("9","۹",$m);
$m=str_replace("0","۰",$m);
return $m;
}


حالا اگه این رو توی هر صفحه بنویسم ، تمام اعداد فارسی میشن ؟؟ :


<? php farsi_number(); ?>

باسلام
یک مثال ساده:

<?php

//index page
function example($m,$n)
{
return $m+$n;
}
?>

<?php
//include index page & use method
include('index.php');
echo example(1,2);
?>
--------------------------------------------------------
دیگه بایدمتوجه شده باشید!
موفق باشید.

فرزند کوروش
دوشنبه 04 شهریور 1392, 20:07 عصر
ببین همون تابعی که دادی اینو اجرا کن.
اول صفحه تابعت رو اینکلود کن بعد بنویس

<? php
echo farsi_number("28268");

?>

thacker
دوشنبه 04 شهریور 1392, 21:06 عصر
من الان همینجوری این تابع رو اجرا میکنم دیگه ...
سوالم اینه که آیا راهی هست یک بار این تابع رو فقط اجرا کنم تا توی تمام سایت تاثیر بزاره یا نه ...
آخه سایت پر از عدد و رقم هست ...

hamedarian2009
دوشنبه 04 شهریور 1392, 21:53 عصر
راحت ترین کار اینه که تمام فایل هایی که میخایین اینکلاد کنین که ممکنه زیاد هم باشن دریک صفحه مثلا test.php اینکلاد کنید و فقط صفحه test.php رو تمام صفحاتتون یکبار اینکلاد کنین

thacker
دوشنبه 04 شهریور 1392, 22:08 عصر
راحت ترین کار اینه که تمام فایل هایی که میخایین اینکلاد کنین که ممکنه زیاد هم باشن دریک صفحه مثلا test.php اینکلاد کنید و فقط صفحه test.php رو تمام صفحاتتون یکبار اینکلاد کنین

تشکر دوست عزیز...
اما سوال من چیز دیگه ای بود :لبخندساده:

a.gh.n
سه شنبه 05 شهریور 1392, 01:52 صبح
پیاده سازی تمام سمت سرور، نیازمند بافر کردن تمام خروجی و پارس کردن دوباره اطلاعات است که هم کار را کندتر می‌کند و هم انعطاف‌پذیری کمتری دارد.

بهتر است ترجمه اعداد را سمت کلاینت انجام بدهید. زمان ساخت Html، متن‌هایی را که ممکن است عدد انگلیسی داشته باشند و مایلید آن‌ها را تبدیل کنید، با یک کلاس مشخص کنید:


<div class="translate-fa">
تاریخ عضویت: دی 1390
</div>

می‌توانید یک اسکریپت Javascript بنویسید که اعداد را جایگزین کند. با فرض استفاده از jQuery و persianJs (https://github.com/usablica/persian.js) چیزی شبیه به این:


<script type="text/javsascript">
$(function() {
elems = document.querySelectorAll('.translate-fa');
for(var i=0, len=elems.length; i<len; i++)
elems[i].innerHTML = persianJs(elems[i].innerHTML).englishNumber();
});
</script>

کدهای جاوااسکریپت را در هر صفحه وارد کنید.

MRmoon
سه شنبه 05 شهریور 1392, 14:52 عصر
با سلام...

اين روش رو ميگم شايد به دردت بخوره


<?php
ob_start();

//Your includes Codes And prints :D

$OutputBuffer = ob_get_contents( );
ob_end_clean( );
echo farsi_number( $OutputBuffer );
ob_end_flush( );
?>

ehsan_savadkohi
سه شنبه 05 شهریور 1392, 15:48 عصر
دوست من.....
شما میتونید در مستر پیجتون این تابع مد نظرتون را صدا بزنید و در تمام صفحاتتون اجرا بشه.

thacker
سه شنبه 05 شهریور 1392, 17:04 عصر
دوست من.....
شما میتونید در مستر پیجتون این تابع مد نظرتون را صدا بزنید و در تمام صفحاتتون اجرا بشه.

چطوری این تابع رو باید صدا بزنم ؟ :خجالت: تشکر ...

فرزند کوروش
سه شنبه 05 شهریور 1392, 18:50 عصر
مستر پیجتون
پی اچ پی و مستر پیج ؟؟؟ :افسرده:

MRmoon
سه شنبه 05 شهریور 1392, 22:30 عصر
با سلام...

اين روش رو ميگم شايد به دردت بخوره


<?php
ob_start();

//Your includes Codes And prints :D

$OutputBuffer = ob_get_contents( );
ob_end_clean( );
echo farsi_number( $OutputBuffer );
ob_end_flush( );
?>
خدا وكيلي روش به اين قشنگي گفتم!!!!!!!

يعني كار نداد؟

thacker
سه شنبه 05 شهریور 1392, 22:51 عصر
هنوز استفاده نکردم ... آخه یه مقدار دیگه از کارای سایتم مونده ...
به نظر میاد که روش منطقی ای هست و جواب میده ... تشکر :لبخندساده:

AliRezaPro
سه شنبه 05 شهریور 1392, 23:28 عصر
با سلام...

اين روش رو ميگم شايد به دردت بخوره


<?php
ob_start();

//Your includes Codes And prints :D

$OutputBuffer = ob_get_contents( );
ob_end_clean( );
echo farsi_number( $OutputBuffer );
ob_end_flush( );
?>

اصلا این روش ها رو بنده برای کسی پیشنهاد نمیدم
یه پلاگین jQuery هست ازش استفاده کنید , اینجا رو ببینید مشکلتون به طور کامل حل میشه

http://forum.majidonline.com/threads/189292-%DB%8C%DA%A9-%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86-jQuery-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D9%87-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C