PDA

View Full Version : مبتدی: کار class و $this-> چیه ؟



parsmedia
جمعه 29 شهریور 1392, 12:30 عصر
با سلام
شاید سوالم خیلی مبتدی باشه ولی من نمیتونم به خوبی از class ها در برنامه استفاده کنم راستش مفهوم و کاربردش رو به خوبی نفهمیدم کسی میتونه توضیح بده ؟؟
کار این چیه ؟

$this->

افشین66
جمعه 29 شهریور 1392, 13:05 عصر
به کلاسی که توش هستی اشاره میکنه !!! یعنی خود همون کلاس برای دسترسی به صفتها و متدها موجود تو کلاس از $this استفاده می کنند.

parsmedia
شنبه 30 شهریور 1392, 09:02 صبح
سلام



<?php
$db="hello"
class database
{
private $db;


public function ar() {


global $db;

$this->db=$db;
}
public function con() {
echo $this->db;

}
}

چرا تو این کد متغیر db که خارج از class تعریف شده رو echo نمیکنه و مقدار $this->db; خالیه ؟؟؟

MMSHFE
شنبه 30 شهریور 1392, 09:27 صبح
اینطوری تست کنید:


<?php
$db = "hello";
class database
{
private $db;
public function ar() {
global $db;
$this->db=$db;
}
public function con() {
echo $this->db;
}
}
$d = new database();
$d->ar();
$d->con();
// output: hello
?>

دقت کنید که چون متد ar همنام کلاس نیست (اسمش database نیست) پس سازنده محسوب نمیشه و باید مستقیماً صداش بزنید تا مقداردهی فیلد db انجام بشه.

parsmedia
شنبه 30 شهریور 1392, 09:42 صبح
بله حق با شما بود یادم رفته بود که ar رو فراخوانی کنم

یک سوال دیگه هم داشتم
یک صفحه داریم با اسم x.com/id=50
و داخل این صفحه یک مطلب داریم ولی من میخوام این صفحه به این صورت باشه باید چیکار کنم
x.com/download-narm-afzar-x.php
؟؟؟
چه جوری باید بسازم که کاربر وقتی این صفحه رو زد فیلدهای دیتابیس با آی دی 50 فراخوانی بشه ؟
منظورم دقیقا مثل پیوند های یکتای وردپرسه

MMSHFE
شنبه 30 شهریور 1392, 10:16 صبح
باید از htaccess. و ماژول mod_rewrite استفاده کنید و تنظیمش کنید که وقتی آدرس دوم وارد شد، اولی رو load کنه.

parsmedia
شنبه 30 شهریور 1392, 10:21 صبح
فکر نکنم ورپرس از این استفاده کنه اگر تنها راهش همینه میشه یکم بیشتر توضیح بدید ؟

parsboy
شنبه 30 شهریور 1392, 10:35 صبح
فکر نکنم ورپرس از این استفاده کنه اگر تنها راهش همینه میشه یکم بیشتر توضیح بدید ؟
http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess&highlight=htaccess

parsmedia
شنبه 30 شهریور 1392, 10:55 صبح
سلام ببخشید خستتون کردم :لبخند:
فکر کنم کد مورد نظرم این باشه
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+).php index.php?section=$1&filename=$2 [nc]
ولی دو تا سوال داشتم
اول اینکه برای سئو این کار مشکل نداره ؟ چون در این صورت دو صفحه به صورت مشابه داریم ؟
سوال دوم اینکه من برای فراخوانی اطلاعات از پایگاه داده احتیاج به آی دی مطلب دارم حالا اگر کاربر
مثلا این آدرس رو زد
mesite.com/oo.php چطوری تعریف کنم که این همون مطلب با id 55 هست ؟؟؟؟
با تشکر فراوان از دوستان گلم [/URL]parsboy عزیز و MMSHFE (http://barnamenevis.org/member.php?275637-parsboy) که راهنماییم کردن
[URL="http://barnamenevis.org/member.php?275637-parsboy"]