- PHPWord Installation without composer
- 4 Answers 4
- Download and install PHP frameworks without Composer
- CakePHP framework
- Zend framework
- Slim framework
- FuelPHP framework
- PHPixie framework
- Могу ли я установить Laravel без использования Composer?
- 8 ответов
- Saved searches
- Use saved searches to filter your results more quickly
- License
- miladniroee/php-mvc-simple-framework
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
PHPWord Installation without composer
Forgive the seeming lameness here. I’m working with a shared hosting with onnly access to cpanel and host are not willing to install composer nor PHPWord on my behalf. Is it possible to install PHPWord by just downloading the ZIP from github? Thanks
Is the shared hosting limitation because of a client/work? Restricting yourself at the whim of a 3rd doesn’t sound fun.
@castis host just said they don’t support it and client already made a 12 month subscription. At the outset though, I didn’t think I would need an extra component to convert word to pdf
I’m a bit flabbergasted with lots of people saying «just use composer» — if we do not want or cannot use it — for any reason — this should not be considered as a valid response — at all.
4 Answers 4
Yes, I do it all the time. For PHPWord, I would download the zip file from GitHub and move the contents of the src folder to a directory called «lib\PhpOffice\PhpWord». You’ll then need a PHP class loader. I always use this for autoloading, provided the Classes are properly namespaced, which appears to be the case.
$GLOBALS['class_path'] = array(__DIR__ . '/lib', __DIR__); // Set-up class_path superglobal variable using php include_path as basis if (!array_key_exists('class_path', $GLOBALS)) < $GLOBALS['class_path'] = array(); foreach (explode(PATH_SEPARATOR, get_include_path()) as $path) < // substitute __DIR__ path for '.' instead if ($path == '.') < array_push( $GLOBALS['class_path'], realpath(__DIR__) ); continue; >array_push( $GLOBALS['class_path'], realpath($path) ); > > if (!function_exists('import')): function import($package = '') < if (empty($package)) < trigger_error("Package path must be specified.", E_USER_ERROR); >$package_bits = explode('\\', $package); $package_path = implode(DIRECTORY_SEPARATOR, $package_bits) . '.php'; foreach ($GLOBALS['class_path'] as $path) < $file = $path . DIRECTORY_SEPARATOR . $package_path; if (file_exists($file)) < require_once($file); $entity_name = implode('\\', $package_bits); if (!(class_exists($entity_name, false) || interface_exists($entity_name, false) || trait_exists($entity_name, false))) < $caller = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; trigger_error("Entity '" . $package . "' not found in file '" . $package_path . "' for import called in " . $caller['file'] . " on line " . $caller['line'], E_USER_ERROR); >return; > > > endif; spl_autoload_register('import');
Set your $GLOBALS[‘class_path’] to the location of the ‘lib‘ directory and be sure to use ‘use‘ as needed before attempting to instantiate PHPWord.
Download and install PHP frameworks without Composer
Vendor phalcon
Package compose
Short description Open-source and community-driven boilerplate for Phalcon projects by using Docker and Docker Compose
Last deployment 11. Jul 2018
Last version dev-master
CakePHP framework
Vendor cakephp
Package app
Short description CakePHP skeleton app
Last deployment 26. Jun 2023
Last version 4.x-dev
Zend framework
Vendor zendframework
Package skeleton-application
Short description Skeleton Application for Zend Framework zend-mvc applications
Last deployment 31. Dec 2019
Last version dev-master
Slim framework
Vendor slim
Package slim-skeleton
Short description A Slim Framework skeleton application for rapid development
Last deployment 01. Jul 2023
Last version dev-dependabot/composer/phpunit/phpunit-tw-9.6.9
FuelPHP framework
Vendor fuel
Package fuel
Short description FuelPHP is a simple, flexible, community driven PHP 5.4+ framework, based on the best ideas of other frameworks, with a fresh start!
Last deployment 10. May 2022
Last version dev-develop
PHPixie framework
Vendor phpixie
Package project
Short description PHPixie skeleton project
Last deployment 16. Feb 2018
Last version dev-master
Loading please wait .
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.
Могу ли я установить Laravel без использования Composer?
Я хотел бы знать, могу ли я каждый раз устанавливать или использовать PHP-фреймворк Laravel на любом веб-сервере, не используя Composer (менеджер пакетов/зависимостей PHP)? Я хотел бы иметь возможность перенести мое приложение на любой веб-сервер (например, на общий сервер без доступа к командной строке). Если я запускаю composer install в первый раз (локально), то все зависимости должны присутствовать, правильно? Тогда я смогу поместить его на любой сервер со всеми файлами (включая каталог поставщика)?
8 ответов
Если вы действительно хотите, вы можете сделать всю работу, которую Composer делает вручную, но вам определенно не следует. Установить Composer легко, это просто вопрос получения файла composer.phar и запуска на нем команд.
Вам не нужно запускать Composer на своем сервере, а также локально, после того, как вы запустите composer install или composer update ваш проект получит все его зависимости, и вы сможете просто загрузить его прямо на свой сервер.
Это не проблема сложности или чего-то еще, я установил его на свой локальный веб-сервер с помощью Composer. Тем не менее, я все еще изучаю PHP и фреймворки и разрабатываю CMS на основе Laravel для практики, но я хотел бы иметь возможность перенести его на любой веб-сервер без необходимости каждый раз использовать composer. Я подхожу к этому не с того угла?
Не за что. Вы также можете запускать Composer на сервере, если хотите, но вы также можете легко загружать свой локальный проект в любое место после выполнения любых установок / обновлений Composer локально.
@Dwight: это также относится к серверам без доступа оболочки? К сожалению, многие из моих клиентов находятся на виртуальном хостинге, который его не предоставляет, и я не думал, что это сработает. Можно ли выполнять обновления с помощью команд из скрипта PHP?
Насколько мне известно, я полагаю, что вы можете попробовать exec() в PHP для запуска обновлений Composer, но было бы так же легко запустить эти обновления локально, а затем отправить обновленный каталог composer.lock и vendor на сервер.
Я хотел бы предложить Дуайтсу локальное использование composer (на сервере разработки), а затем перенести весь рабочий каталог на удаленный сервер.
спасибо, хотя тема была закрыта, я получил ответы, в которых я нуждался :), пожалуйста, отредактируйте ответ с новой информацией из этих комментариев, и я приму.
Отличное замечание о запуске Comoser локально, а затем о загрузке, так как это распространенная проблема с общим веб-хостингом.
У меня есть проблема, когда я не могу использовать Composer в моей компании. Все соединения, выполненные с помощью командной строки, отклоняются.
Вы можете скачать через LaraPack. Он предоставляет вам готовый к использованию настройку Laravel, поэтому вы не устанавливаете его с помощью Composer. Он также получает еженедельное обновление.
Отказ от ответственности: я создатель LaraPack.
Вы не можете установить локальный laravel без composer в вашем проекте.
@BARISKURT Конечно! Добавил в качестве ответа и удалил мой комментарий. Просим вас также удалить свой комментарий.
Если у вас есть общий сервер, и вы не можете установить composer и запустить cmd для установки нового пакета или обновления существующего пакета.
Вы можете сделать одну вещь, установив composer на свой локальный компьютер и установить (ex composer require package/name ) или обновить (ex composer update package/name ) все пакеты, а затем загрузить каталог вашего поставщика на сервер с вашим кодом. это будет работать для вас так же, как в вашей местной среде.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A simple PHP MVC framework that works without composer
License
miladniroee/php-mvc-simple-framework
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Simple PHP MVC Framework (no composer)
1- Download Zip and extract.
echo config("db_name"); // php_mvc_framework
you can define routes on /Routes.php ;
- url for access url.
- name for route name that can access with route() function.
- controller for controller class
- method for controller callback method
[ "url" => "/welcome", "name" => "welcome", "controller" => Controllers\Welcome::class, "method" => 'index' ]
you can bind parameter to route using :
[ "url" => "/user//show", "name" => "show_user", "controller" => Controllers\Users::class, "method" => 'show' ]
The show() function should accept a parameter with $id name as following:
class Users extends BaseController < public function show($id) < // code > >
you can get routes by its name:
echo route('welcome'); // "localhost/welcome"
if your route has parameter you should define through an array:
echo route('show_user', ['id' => 2]); // localhost/user/2/show
You can make controllers within /Controllers directory.
Controllers should extend Core/BaseController.php
namespace Controllers; use Core\BaseController; class Users extends BaseController < // methods >
You can create model files within /Models directory. models should extend Core/Model.php :
namespace Models; use Core\Model; class Users extends Model < // methods >
if you created your model as controller name, you do not need to define model in controller.
you can access it with $this->Database in controller:
class Users extends BaseController < public function show() < dd($this->Database->GetAllUsers()); > >
if you want to use another one you can define it in Controller:
protected string $Model pl-s">ShowUser";
there are four methods for CRUD that you have access in model.
public function getUsers() < $Query pl-s">SELECT * FROM users WHERE is_active = ? AND id != ?"; $Data = [ 1, 5 ]; return $this->InsertRow($Query,$Data); >
$this->SelectRow($Query,$Data); $this->UpdateRow($Query,$Data); $this->DeleteRow($Query,$Data);
loads a view file from View :
view('dashboard/profile'); // require View/dashboard/profile.php
you can pass data to view by compact() inner function.
$Users = ['Milad','Ali']; // Data view('dashboard/profile',compact('Users')); // or view('dashboard/profile',['users'=>$Users])
then you can access data in view:
foreach ($Users as $User): ?> tr> td>$User?>td> tr> endforeach; ?>
redirect to route by passing route name or url:
redirect('index'); // redirects to index route redirect('/dashboard/profile');
if route has parameter, you can pass it as in route function
it returns string of file and public dir that defined in config.php :
echo public_dir('style.css'); // http://localhost/public/style.css
this function abort execution with given status code.
you can define view for it in Views/errors .
it will die and dump what ever you give it.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
For any issue or feature request, please open an issue.