Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Mediawikiapi

Mediawikiapi Laravel Package

starcitizenwiki/mediawikiapi

A PHP package for working with the MediaWiki API, built for the Star Citizen Wiki. It offers convenient methods for querying wiki pages, search, and related data in Laravel or standalone PHP applications.

View on GitHub
Deep Wiki
Context7

starcitizenwiki/mediawikiapi is a Laravel package that provides a fluent client for the MediaWiki API, making it easy to query and interact with MediaWiki-powered wikis directly from your PHP application.

Queries are built through an expressive, chainable interface, so pages, revisions, and search results can be fetched with minimal boilerplate—ideal for integrating wiki content into Laravel apps and the Star Citizen Wiki ecosystem.

  • Chainable query builder for MediaWiki endpoints
  • Fetch page content, revisions, and search results
  • Native Laravel service provider and facade integration
  • Configurable API endpoint and authentication
  • PSR-compatible HTTP handling via Guzzle
Frequently asked questions about Mediawikiapi
What does the starcitizenwiki/mediawikiapi package do?
It is a thin Laravel wrapper around the MediaWiki Action API, originally built for the Star Citizen Wiki. It lets you query pages, run searches, and pull wiki data into a Laravel or PHP application instead of hand-rolling a Guzzle client and OAuth request signing. It is a request/response client only, so there are no webhooks or change streams and any near-real-time need requires polling.
How do I install starcitizenwiki/mediawikiapi with Composer?
Install it with composer require starcitizenwiki/mediawikiapi. On Laravel versions that support package auto-discovery the service provider and facade are registered for you, and you can publish the config file to set your wiki endpoint and credentials. Because the last release is from March 2021, expect to widen Composer constraints or maintain a fork on newer Laravel versions.
Which Laravel and PHP versions does this package support?
The package was released around March 2021, so its composer constraints most likely cap at Laravel 8 and PHP 8.0. Check composer.json before installing and validate the constraints against your own PHP and Laravel matrix. On Laravel 10 or 11 you will almost certainly need to widen them or fork the package.
How does authentication work with the MediaWiki API in this package?
Authentication goes through MediaWiki OAuth, and a 2021-era package most likely implements OAuth 1.0a owner-only consumer signing. Before committing, confirm which OAuth extension and consumer type your target wiki supports, since Wikimedia has been moving toward OAuth 2.0. Prove the signature flow end-to-end against a real staging wiki rather than relying on mocks, because OAuth 1.0a signing bugs are environment-specific.
Does it support OAuth 2.0 or bot passwords?
Probably not. A package last released in 2021 predates widespread OAuth 2.0 support in MediaWiki, and the documented flow is OAuth 1.0a owner-only consumers. Bot password or login-based authentication is unlikely to be implemented, so verify against the specific wiki you intend to talk to before designing around it.
Can I use this package to edit, create, or delete wiki pages?
That depends on which API modules are wrapped versus exposed as raw passthrough, and the README does not clearly document write support. If you do write, you need CSRF token handling and baserevid conflict detection, which are likely thin. Serialize writes through a queue with retry and backoff, and respect MediaWiki maxlag and edit rate limits.
Is starcitizenwiki/mediawikiapi maintained and safe for production?
It has been unmaintained for roughly four years, has about six stars, no dependents, and no visible security disclosure process. Treat it as code you own: pin an exact version, vendor or fork it, and name an internal maintainer before adoption. The small surface area keeps maintenance cost modest, but dependency and Guzzle security patching still land on you.
How do I configure the package in a Laravel app?
It follows the standard Laravel service provider, config, and facade pattern, so you publish the config file, set your API endpoint and OAuth credentials through environment variables, and resolve the client through the facade or container. The exact config keys are only documented in the package source and README. Wrap it behind your own WikiClient contract so the package stays a swappable implementation.
Does the package have a test suite I can run?
There is no visible test coverage, which means mock-based confidence is misleading for an HTTP and OAuth client. The practical approach is a one-week spike: install it, authenticate an owner-only consumer against a staging wiki, and exercise one read and one write against a real MediaWiki instance. Only after that should you add your own integration tests around a wrapped contract.
What are the alternatives to this package for talking to MediaWiki from PHP?
For read-only content ingestion, a small in-house Guzzle client is often cheaper than owning an unmaintained wrapper, and generic MediaWiki API clients exist that are not tied to Laravel. If you are on Symfony or plain PHP, this package's Laravel coupling is pure overhead. Even inside Laravel, keeping the package behind an internal interface lets you swap it for a fork or a custom client later.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource