Download the PHP package catpaw/core without Composer

On this page you can find all versions of the php package catpaw/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package core

What is this?

Catpaw is an opinionated group of libraries centered around catpaw/core, which is a dependency injection library built for amphp that makes heavy use of php attributes.

Table of Contents

Topic Implemented Repository Read
🌐 Web Route Handlers catpaw-web Read
🌐 Web Route Controllers catpaw-web Read
🌐 Web Path Parameters catpaw-web Read
🌐 Web Path Not Found catpaw-web Read
🌐 Web Session catpaw-web Read
🌐 Open API catpaw-web Read
🌐 File System Web Routes catpaw-web Read
⚡ Entry catpaw-core Read
🌐 Web Byte Range Requests catpaw-web Read
⚡ Custom Attributes catpaw-core Read
🌐 Web Filters catpaw-web Read
🌐 Web Sockets catpaw-web Read
💡 RaspberryPI catpaw-raspberrypi Read
⚡ Services catpaw-core Read
🗄 MySQL Repositories catpaw-mysql TODO
⚡ Stores catpaw-store Read
⚡ Dev Tools Binary Download catpaw-dev-tools Read
⚡ Queues catpaw-queue Read
💡 Text catpaw-text TODO
💡 Schedule catpaw-schedule TODO
💡 SDL catpaw-libsdl Read

Starters

Type Implemented Description Github Template Read
Blank using only the core library Template Read
Web create a web server Template Read
Markdown create a web server using Markdown Template TODO

Note use with composer


Premise

This project is aimed at linux distributions, some features may or not may work on Windows or MacOS.
Feel free to contribute fixing issues for specific platforms.

Get started

In order to get started you will need php 8.1 or a more recent version.

All you need to do is create a new project using the starter template.

Or you could also clone the template from https://github.com/tncrazvan/catpaw-starter


Every application must declare a function in the global scope, that will be your entry point:


After you've created your new project, you can run it using

to watch file changes (useful in development) or

for production mode.

Build & Run

It is possible, but not required, to build your application into a single .phar file using

The building process can be configured inside the build.yml file.

After building your application, you can simply run it using

The resulting .phar, by default (check build.yml), includes the following directories:

which means it's a portable binary, you just need to make sure php is installed on whatever machine you're trying to run it on.

A note on versioning

Given the versioning string major.minor.patch, all libraries that are compatible with eachother will always have the same major and minor versions.
Regardless if a library has actually had any major or minor changes, its version will be bumped to match all the other libraries to indicate that given library is compatible with the latest features.

The patch number may vary from library to library, but the major and minor numbers should all match.

For example, if you're using catpaw/core:^0.2 and you want to add catpaw/web to your project, you should always pick catpaw/web:^0.2 to match your core version.

Why?

I'm a single developer and this gives me more freedom to add features without breaking previous versions and I like to organize my projects this way.

Looking for some examples?

You can follow along with the examples provided by the catpaw/examples repository at https://github.com/tncrazvan/catpaw-examples/tree/master/src.

Debugging with VSCode

In order to debug with vscode you will need to configure both vscode and xdebug (3.x).

XDebug 3.x configuration for VSCode

In your php.ini file add:

VSCode configuration

Make new a ./.vscode/launch.json file in your project and add the following configuration if you don't have it already:

The first configuration will passively listen for xdebug, while the second one will launch the currently opened script.


All versions of core with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
amphp/amp Version ^2.6
amphp/log Version ^1.1
erusev/parsedown Version ^1.7
amphp/file Version ^2.0
amphp/process Version ^1.1
ext-openssl Version *
ext-zlib Version *
vlucas/phpdotenv Version ^5.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package catpaw/core contains the following files

Loading the files please wait ....