v2.5.2
Giriş yap

PhpSpreadsheet composer zorunluluğu

istek61
872 defa görüntülendi

Merhaba,

PhpSpreadsheet sanırım composer ile kullanılıyor.
kullanım için php'ye

require 'vendor/autoload.php';

eklememiz gerekiyor.

fakat ben birşeye bagımlı kalmadan direkt pluginmiş gibi kullanmak istiyorum.
composer olmadan bu eklentiyi kullanabilir miyim ?

Cevap yaz
Cevaplar (11)
munzevi
927 gün önce

dediğin gibi çözüm bu, sorununu daha iyi anlamak için namespace ve use kullanımını anlaman gerekiyor. yol sorunu yaşıyorsun sadece. basit bir şey, 2 dakika da çözersin.

istek61
926 gün önce

@munzevi

küçümsemekle ne alakası var güncel durum bu. ben bunu derken kendimi övdügüm kısmı anlayamadım ??? yada seni profesyonel gösterdigim.
sen bu kodu 2 satırla çalıştır ben eşek gibi 20 kez anıracam.
öyle basit bir sistem olmadığını küçümsedigim halimle görüyorum.

munzevi
926 gün önce

kullanim sekli bu. ayrica liseli gencler kolayca php ile web developer olabiliyor gibi bir cumle kurarak, epey kucumsemistin. giris seviyesinde bi olay ve basit degil diyorsun. demek ki ne bildigin kadar neyi bilmedigin de onemli

istek61
926 gün önce

@munzevi

namespace ve use u anladım ama okadar kolay degilmiş.

gereksinimlerine göre class sınıfı çagırıyor. onlarda farklı dosyaların içinde gerekmedikcede o dosyaları include etmiyor.

bir autoload eklentisine ihtiyacım var :(

istek61
927 gün önce

@munzevi

şimdi işteyim gece vaktim olursa bakacağım.
çözemezsem yine yardımınızı isterim. teşekkürler

munzevi
927 gün önce

dediğin gibi çözüm bu, sorununu daha iyi anlamak için namespace ve use kullanımını anlaman gerekiyor. yol sorunu yaşıyorsun sadece. basit bir şey, 2 dakika da çözersin.

istek61
927 gün önce

bukadar basit olamaz degil mi :)

include "Spreadsheet.php";
include "Writer/Xlsx.php";

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');

şöyle bir hata veriyor.

Fatal error: Uncaught Error: Class "PhpOffice\PhpSpreadsheet\Writer\BaseWriter" not found in C:\Server\exx\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php:37 Stack trace: #0 C:\Server\exx\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\test.php(4): include() #1 {main} thrown in C:\Server\exx\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php on line 37

istek61
927 gün önce

@munzevi

bende mantık olarak öyle çalışmalı diye düşünüyorum. autoload sınıflarını include ile dahil edip çagırmaya çalışıyorum fakat sürekli birşeyler eksik hatası alıyorum.
henüz başaramadığım için doğru cevap olarak işaretlemiyorum ama söylediginizin doğru oldugunu biliyorum :)))

munzevi
927 gün önce

autoload sınıfları otomatik dahil etmek üzere kullanılan psr-4 standartıdır. composer ile kurulum yaptıktan sonra, ilgili eklentinin dizinden istediğiniz yere kopyalarak çalışmaya manuel olarak dahil edebilirsiniz. nasıl yapacağını bilmiyorsan anahtar kelimeler, class kullanımı.

istek61
927 gün önce

forum ölü gibi

istek61
929 gün önce

https://github.com/PHPOffice/PhpSpreadsheet/issues/31#issuecomment-354502740

aslında burada en kullanışlı ve tek örnegi vermiş ama bunda da birden çok dosyayla kütüphane oluşturmam gerek sanırım. çok anlamadım