Arkadaşlar merhaba. Konuyu doğru yere mi açtım bilmiyorum. Yanlış açtıysam kusura bakmayın. Yetiştirmem gereken bir proje var ve çok bir araştırma yapamadan fonksiyonlarımı class olarak toparlamam gerekiyor. Daha önce sadece fonksiyonlar ile çalışıyordum ancak bu projede class olarak toparlamam gerekti. Aşağıdaki yazacağım sınıf yapısı muhtemelen bir çok eleştiriye sebep olacak çünkü ilk denemem diyebilirim. Düzgün çalışmıyor zaten. Bir arkadaş hatalarımı belirterek kodları düzeltirse çok sevinirim. Hataları fark ettikten sonra diğer fonksiyonlarımı sınıflar halinde toparlamak daha kolay olacak zaten. Şimdiden çok teşekkür ederim.
class icerikler{
    
    private $islem;    
    private $durum;    
    private $sinirla;    
    private $icerik;
    private $sutunlar;
    private $get_ara;
    private $get_durum;
    private $get_tip;
    private $get_kategori;
    private $get_yetki;
    private $get_islem_tip;
    private $get_hesap_id;
    private $get_icerik_tip;
    private $get_s;
    
    
    public function __construct($islem, $durum, $sinirla, $icerik, $sutunlar){
        
        global $get_ara;
        
        $this->get_ara = $get_ara;
        $this->get_durum = $_GET['durum'];
        $this->get_tip = $_GET['tip'];
        $this->get_kategori = $_GET['kategori'];
        $this->get_yetki = $_GET['yetki'];
        $this->get_islem_tip = $_GET['islem_tip'];
        $this->get_hesap_id = $_GET['hesap_id'];
        $this->get_icerik_tip = $_GET['icerik_tip'];
        $this->get_s = $_GET['s'];
        $this->islem = $islem;
        $this->durum = $durum;
        $this->sinirla = $sinirla;
        $this->icerik = $icerik;
        $this->sutunlar = ($sutunlar ? $sutunlar : '*');
        
    }
    
    public function getir(){
        $secenekler = [
            'islem' => $this->islem,
            'durum' => $this->durum,
            'sinirla' => $this->sinirla,
            'icerik' => $this->icerik,
            'sutunlar' => $this->sutunlar
        ];
        return $this->icerik_getir($secenekler);
    }
    
    public function icerik_getir($secenekler){
        
        global $vt;
        
        if(is_array($secenekler)){
            $islem = ($secenekler['islem'] ? $secenekler['islem'] : $this->islem);
            $durum = ($secenekler['durum'] ? $secenekler['durum'] : $this->durum);
            $sinirla = ($secenekler['sinirla'] ? $secenekler['sinirla'] : $this->sinirla);
            $icerik = ($secenekler['icerik'] ? $secenekler['icerik'] : $this->icerik);
            $tablo = icerik_tablo($icerik);
            $sutunlar = ($secenekler['sutunlar'] ? $secenekler['sutunlar'] : $this->sutunlar);
        }else{
            return false;
        }
        
        if($tablo){
            
            $sorgu = $vt->select($sutunlar)->table($tablo);
            
        }else{
            
            return 'false';
            
        }
    
        switch($icerik){
            default:
                return false;
            break;
            case'birim':
            case'yetki':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    $sorgu = $sorgu->where('durum', '=', '3');
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

            break;
            case'eklenti':
            case'gereksinim':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

                if(!bosmu($this->get_tip)){
                    $sorgu = $sorgu->where('kategori', '=', $this->get_tip);
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            case'haber':
            case'hizmet':
            case'sayfa':
            case'sozlesme':
            case'slider':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            case'kategori':

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

                if(!bosmu($this->get_tip)){
                    $sorgu = $sorgu->where('tip', '=', $this->get_tip);
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            case'kupon':

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            case'yazilim':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_kategori)){
                    $sorgu = $sorgu->where('kategori', '=', $this->get_kategori);
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('baslik', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            case'yonetici':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_yetki)){
                    $sorgu = $sorgu->where('yetki', '=', $this->get_yetki);
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('isim', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('isim', 'asc');

            break;
            case'musteri':

                $sorgu = $sorgu->where('tip', '=', $icerik);

                if($durum=='0'){
                    $sorgu = $sorgu->where('durum', '=', '0');
                }else{
                    if(!bosmu($this->get_durum)){
                        $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                    }else{
                        $sorgu = $sorgu->where('durum', '!=', '0');
                    }
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('isim', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('isim', 'asc');

            break;
            case'kayit':

                if(!bosmu($this->get_durum)){
                    $sorgu = $sorgu->where('durum', '=', $this->get_durum);
                }

                if(!bosmu($this->get_islem_tip)){
                    $sorgu = $sorgu->where('islem_tip', '=', $this->get_islem_tip);
                }

                if(!bosmu($this->get_hesap_id)){
                    $sorgu = $sorgu->where('hesap_id', '=', $this->get_hesap_id);
                }

                if(!bosmu($this->get_icerik_tip)){
                    $sorgu = $sorgu->where('icerik_tip', '=', $this->get_icerik_tip);
                }

                if(!bosmu($this->get_ara)){
                    $sorgu = $sorgu->like('sonuc', '%'.$this->get_ara.'%');
                }

                $sorgu = $sorgu->orderBy('tarih_saat', 'desc');

            break;
            
        }
    
        if($sinirla==true){
            
            $sinir = [0, 25];//$this->kactane();

            $sorgu = $sorgu->limit($sinir[0], $sinir[1]);
            
        }

        if($islem=='liste'){
            
            $sonuc = $sorgu->getAll();
            
        }elseif($islem=='say'){
            
            $sonuc = $sorgu->getAll('count');
            
        }

        return $sonuc;
        
    }
    
    private function kactane(){
        
        $secenekler = [
            'islem' => 'say',
            'sinirla' => false,
            'sutunlar' => 'id'
        ];
        
        $toplam_icerik = $this->icerik_getir($secenekler);

        if($toplam_icerik){            

            $toplam_sayfa = ceil($toplam_icerik / panel_icerik_say);

            $get_sayfa = isset($this->get_s) ? (int) $this->get_s : 1;

            $sayfa = ($get_sayfa < 1 ? 1 : $get_sayfa);

            if($sayfa > $toplam_sayfa){
                $sayfa = $toplam_sayfa;
            }

            $baslangic = ($sayfa - 1) * panel_icerik_say;

            $bitis = panel_icerik_say;
            
            return[$baslangic, $bitis];

        }else{

            return false;

        }

    }
    
}
NOT: Sınıfı en hızlı ve temiz çalışacak şekilde nasıl düzenleyebilirim? Ayrıca PDOx sınıfını kullanıyorum.