PHPackages                             alwaysblank/extrovert - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. alwaysblank/extrovert

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

alwaysblank/extrovert
=====================

Simple social media share links.

1.2.0(5y ago)3914MITPHPPHP ^7.2

Since Jul 29Pushed 5y ago3 watchersCompare

[ Source](https://github.com/alwaysblank/extrovert)[ Packagist](https://packagist.org/packages/alwaysblank/extrovert)[ RSS](/packages/alwaysblank-extrovert/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (5)Used By (0)

Extrovert
=========

[](#extrovert)

Quickly generate simple social media share URLs.

[![Build Status](https://camo.githubusercontent.com/df20ff5aa9803e22e1d0bdb6bda535bf5ea7b01a0c7db66221bf5c28a3b87f08/68747470733a2f2f7472617669732d63692e6f72672f616c77617973626c616e6b2f657874726f766572742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/alwaysblank/extrovert)

Usage
-----

[](#usage)

This project only generates URLs (and, optionally, link elements to wrap them); it does *not* implement any kind of more involved sharing activity, and it never will. It is not attempting to be a social media clearinghouse with deep integration, interactivity, and share counts, so it will only ever support services that allow for sharing through the simple mechanism of a link.

### URL

[](#url)

To use it, simply call the `url()` static method on the network you want, passing in any relevant arguments. For instance, to generate a link to share something on Facebook, you would do this:

```
AlwaysBlank\Extrovert\Network\Facebook::url('https://www.alwaysblank.org');
```

Some networks also support additional information, such as a name or description. You can pass these serially, or as part of an array. The following are all equivalent:

```
AlwaysBlank\Extrovert\Network\ExampleNetwork::url('https://www.alwaysblank.org', "Extrovert Can Help", "A new tool to generate simple share URLs.");

AlwaysBlank\Extrovert\Network\ExampleNetwork::url([
  'https://www.alwaysblank.org',
  "Extrovert Can Help",
  "A new tool to generate simple share URLs."
]);

AlwaysBlank\Extrovert\Network\ExampleNetwork::url([
  'uri' => 'https://www.alwaysblank.org',
  'name' => "Extrovert Can Help",
  'description' => "A new tool to generate simple share URLs."
]);
```

All content is automatically URL-encoded—do **not** pass in already encoded strings.

### Link

[](#link)

You can also generate a simple link element, with a few [safety features](https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/). The syntax is very similar to `url()`, but with `link()` you *must* pass your url arguments as an array.

```
AlwaysBlank\Extrovert\Network\ExampleNetwork::link(
  ['https://www.alwaysblank.org', "Extrovert Can Help", "A new tool to generate simple share URLs."],
  'Share on Network',
  ['class' => 'link']
);
```

Supported Networks
------------------

[](#supported-networks)

- Facebook - Supports only the `url` argument.
- LinkedIn - Supports the `url` argument.
- Twitter - Supports the `url` and `name` arguments.
- Pinterest - Supports the `url`, `description`, and `media` arguments, but beat in mind that they *must* be passed as a key array, and that you *must* pass both a `url` and `media` value--Pinterest won't understand it otherwise, and you'll get odd results.
- Email - Supports the `url` and `name`, and `description` arguments, but behaves a little differently. It expects `description` to contain a `%s` that will be replaced with the `url`. It will also attempt to generate reasonable defaults for `name` and `description` (the subject and body of the email respectively) if none are provided.
- Your Favorite! - Submit an [issue](https://github.com/alwaysblank/extrovert/issues/new) or, even better, a [pull request](https://github.com/alwaysblank/extrovert/pulls)! Please do keep in mind the limitations and intentions of the project, however.

Notes
-----

[](#notes)

Extrovert is very type-sensitive, so make sure you pass it arguments that it will like: Otherwise it will very rudely start throwing exceptions.

If you pass arguments that are the correct type but are otherwise incorrect, it will very politely just return an empty string.

Many of these services will pull information to populate rich links from the URL you are telling them to link to. For this reason, it is wise to make sure that the metadata (and/or OpenGraph data) on that URL is correctly implemented. It also means that they will throw errors if you try to link to unreachable URLS (i.e. `development-site.local`);

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~183 days

Total

3

Last Release

2116d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/45ef59bc24058cd989f522d8a6f8cc9b9aa31721b765d2b8552500dcc268e15d?d=identicon)[alwaysblank](/maintainers/alwaysblank)

---

Top Contributors

[![alwaysblank](https://avatars.githubusercontent.com/u/23412884?v=4)](https://github.com/alwaysblank "alwaysblank (22 commits)")

---

Tags

hacktoberfest

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/alwaysblank-extrovert/health.svg)

```
[![Health](https://phpackages.com/badges/alwaysblank-extrovert/health.svg)](https://phpackages.com/packages/alwaysblank-extrovert)
```

###  Alternatives

[magefan/module-lazyload

Images lazyloading on Magento 2 store.

54180.7k3](/packages/magefan-module-lazyload)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
